JavaScript

首页 » Archive by category 'JavaScript'

w3cmm

ES5中新增的方法

Array filter 对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。 //过滤掉小于 10 的数组元素: //代码: function isBigEnough(element, index, array) { return (element >= 10); } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // 12, 130, 44 map //将所有的数组元素转换为大写: var st … 继续阅读

目录 JavaScript |
w3cmm

寄生组合式继承

组合继承是javaScript最常用的继承模式;不过,它也有自己的不足。组合继承最大的问题就是无论什么情况下,都会调用两次超类型构造函数:一次是在创建子类型原型的时候,另一次是在子类型构造函数内部。没错,子类型最终会包含超类型对象的全部实例属性,但我们不得不在调用子类型构造函数时重写这些属性…… 继续阅读

目录 JavaScript |
w3cmm

寄生式继承

寄生式继承是与原型式继承紧密相关的一种思路,并且同样也是由克罗克福德推而广之的。寄生式继承的思路与寄生构造函数和工厂模式类似,即创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后再像它真的是做了所有工作一样返回对象。 继续阅读

目录 JavaScript |
w3cmm

原型式继承

道格拉斯·克罗克福德在2006年在一篇文章中,他介绍了一种实现继承的方法,这种方法并没有使用严格意义上的构造函数。他的想法是借助原型可以基于已有对象创建新对象,同时还不必因此创建自定义类型…… 继续阅读

目录 JavaScript |
w3cmm

原型链和借用构造函数组合继承

组合继承,有时候也叫做伪经典继承,指的是将原型链和借用够着函数的技术组合到一块,从而发挥二者之长的一种继承模式。其背后的思路是使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承 继续阅读

目录 JavaScript |
w3cmm

借用构造函数

在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数的技术。这种技术的基本思路相当简单,即在子构造函数的内部调用超类型构造函数。函数只不过是在特定环境中执行代码的对象,因此通过使用apply()和call()方法也可以在新创建的对象上执行构造函数…… 继续阅读

目录 JavaScript |
w3cmm

原型链

原型链

ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实际都包含一个指向原型对象的内部指针。那么假如我们让原型对象等于另一个类型的实例,结果会怎么样那?显然,此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。假如另一个原型又是另一个类型的实例,那么上述关系依然成立,如此层层递进,就构成了实例与原型的链条。这就是所谓原型链的基本概念。 实现原型链有一种基本模式,其代码大致如下。 function SuperType() {   … 继续阅读

目录 JavaScript |
w3cmm

match、search、replace、split

String 类型定义了几个用于在字符串中匹配模式的方法。第一个方法就是match(),在字符串上调用这个方法,本质上与调用RegExp的exec()方法相同。另一个用于查找模式的方法是search()…… 继续阅读

目录 JavaScript |
w3cmm

拖放

修缮拖动功能

拖放是一种非常流行的用户界面模式。它的概念很简单:点击某个对象,并按住鼠标按钮不放,将鼠标移动到另一个区域,然后释放鼠标按钮讲对象“放”在这里。 继续阅读

目录 JavaScript |
w3cmm

throw new Error

抛出错误(throw new Error)也是一种调试代码的好方法。如果错误消息很具体,基本上就可以把它当作确定错误来源的依据。但这种错误消息必须能够明确给出导致错误的原因,才能省去其它调试操作…… 继续阅读

目录 JavaScript |
第 1 页,共 13 页12345...10...最旧 »