文章分类:javascript归档
-
转
js事件
js事件js事件参考文档:http://www.runoob.com/jsref/dom-obj-event.htmljs监听事件的绑定与移除addEventListener语法element.addEventListener(type,handler,false/true)type:事件类型handler:事件执行触发的函数false/true:false为冒泡/ture为捕获,参数是true,
-
转
ES6 Promise 用法
ES6 Promise 先拉出来遛遛 复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数? 别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。 这么一看就明白了,Promise是一个构造函数,自己身上有all、reject、resolv
-
原
javascript设计模式——混入模式
为什么要有混入模式(Mixin)在继承或者实例化时,JS的对象机智并不会自动执行复制行为。简单地说,JS中只有对象,并不存在可以被实例化的类。由于在其他语言中类表现出来的都是复制行为,因此JS的开发者们想出一种模拟类的行为,这个方法就是混入。定义Mixin是掺合,混合,糅合的意思,就是将一个对象的一个或多个(或全部)属性(或方法)复制到另外一个对象,Mixin有的是对对象的操作,有的是对类的操作。
-
转
二进制数组
转自:《JavaScript 标准参考教程(alpha)》 by 阮一峰二进制数组(ArrayBuffer对象、TypedArray视图和DataView视图)是JavaScript操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011年2月发布),ES6将它们纳入了ECMAScript规格,并且增加了新的方法。这个接口的原始设计目的,与WebGL项目有关。所谓WebGL,就是指浏览
-
原
javascript原型和继承的写法总结
现在有一个"动物"对象的构造函数function Animal(){ }它的原型写法可以为Animal.prototype.species = '动物';Animal.prototype.action = function () {}也可以是这样,但是这种写法需要手动设置它的constructor,否则cat1.constructor将丢失。Animal.prototype=
-
原
javascript匿名函数
函数的定义js函数的定义大致可分为三种方式:第一种:这也是最常规的一种function double(x){ return 2 * x; }第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用。var double = new Function('x', 'return 2 * x;');第三种:var double = function(
-
转
javascript闭包
什么是闭包?先看一段代码:function a(){ var n = 0; this.inc = function () { n++; console.log(n); };}var c = new a();c.inc(); //控制台输出1c.inc(); //控制台输出2这就是闭包!有权访问另一个函数作用域内变量的函数都是闭包。
-
原
javascript原型和原型链
参考资料:JS原型与原型链终极详解_proto_、prototype及constructor一. 普通对象与函数对象JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object ,Function 是JS自带的函数对象。下面举例说明var o1 = {};var o2 = new Object();var o3 = new f1();console.log(typ
-
原
js工具类
js工具类/** kit v0.2* Copyright 2017-2019 黄飞* 修改时间:2017.3.6 修改时间:2018.2.27*/(function ($, window) { 'use strict'; var kit = window.kit = { debug: true, version: 'v0.2' }; //接口
-
转
Javascript模块化编程(三):require.js的用法
作者: 阮一峰日期: 2012年11月 7日这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。我采用的是一个非常流行的库require.js。一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相
-
转
Javascript模块化编程(二):AMD规范
作者: 阮一峰日期: 2012年10月30日这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块。(接上文)七、模块的规范先想一想,为什么模块很重要?因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!考虑到Javascript模块现
-
转
Javascript模块化编程(一):模块的写法
作者: 阮一峰日期: 2012年10月26日随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加
-
转
Javascript继承机制的设计思想
作者: 阮一峰日期: 2011年6月 5日我一直很难理解Javascript语言的继承机制。它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instance)的区分,全靠一种很奇特的"原型链"(prototype chain)模式,来实现继承。我花了很多时间,学习这个部分,还做
-
转
Javascript面向对象编程(三):非构造函数的继承
作者: 阮一峰日期: 2010年5月24日这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:'中国
-
转
Javascript面向对象编程(二):构造函数的继承
作者: 阮一峰日期: 2010年5月23日这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例。今天要介绍的是,对象之间的"继承"的五种方法。比如,现在有一个"动物"对象的构造函数。 function Animal(){ this.species = "动物"; }还有一个&
-
转
Javascript 面向对象编程(一):封装
作者: 阮一峰日期: 2010年5月17日Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应
- 共 18 条记录