摘要:1 function getFnName(fn){ 2 return typeof fn !== 'function'? 3 undefined: 4 fn.name || 5 /function (.+)\(/.exec(fn + '')[1] 6 } 7 8 9 function Person(){} 10 11 var i =...
阅读全文
摘要:寄生组合式继承,即通过借用构造函数来继承属性,通过原型链的混成形式来继承方法。其背后的基本思路是:不必为了指定子类型的原型而调用超类型的构造函数,我们所需要的无非就是超类型 原型的一个副本而已。本质上,就是使用寄生式继承来继承超类型的原型,然后再将结果指定给子类型 的原型。 代码如下: functi
阅读全文
摘要:JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。 一、方法定义 1、call 方法 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, ,
阅读全文
摘要:ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字(带*号上标的是第5 版新增的关键字): ECMA-262 还描述了另外一组不能用作标识符的保留
阅读全文
摘要:一、什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:'中国' }; 还有一个对象,叫做"医生"。 var Doctor ={ career:'医生' } 请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生
阅读全文