谈谈javascript的短路操作及其骚操作

最近在对已有小程序进行二开,发现了新天地。许多以前在php包括生涯中都没见到过的操作都见识了一番。其中一个就是逻辑运算符的短路操作。短路原理通过最短路径达到目的,&&与||都遵循该原理。不同的是,&&是从左到右检测,如果遇到操作数的值是false,则返回这个值;若全为true,返回最后一个值。即返回值为false的操作数,否则返回最后一个值。||也是从左到右检测,不过如果遇到值为true的操...

继续阅读 »

对javascript借用构造函数的理解

原型链继承存在的问题javascript中,利用原型链继承,原型链功能虽然强大,但也存在问题:原型中引用类型的原型属性会被其所有实例共享。借用<<javascript高级程序设计>>的例子来说明问题function SuperType(){ this.colors=["red","blue","green&q...

继续阅读 »

对javascript寄生构造函数的理解

寄生构造函数在我的理解来说,是为了扩展某些原生构造函数的功能,又不影响原生构造函数情况下做的一种变通,引用高程的例子:function SpecialArray(){ var values = new Array(); values.push.apply(values,arguments); values.toPipedString = function(){ ...

继续阅读 »

关于javascript原型链的记录

构造函数拥有名为prototype属性,每个对象都拥有__proto__属性,而且每个对象的__proto__属性指向自身构造函数prototype。当调用某种方法或属性时,首先会在自身调用或查找,如果自身没有该属性或者方法,则会去它的__proto__属性中调用查找,也就是它构造函数的prototype中调用查找;function Person(){} var person = new P...

继续阅读 »