按js的标准定义constructor是属性,但是它的值通常却是构造函数的引用。既然它的值是函数,自然就可以用.constructor()这种“方法”式的语法。按js的设计 constructor 的作用一般做为属性进行比较判断。很少会以.constructor()重新调用执行对象构造函数的,至少我没见过这样用的。
按js的标准定义constructor是属性,但是它的值通常却是构造函数的引用。既然它的值是函数,自然就可以用.constructor()这种“方法”式的语法。按js的设计 constructor 的作用一般做为属性进行比较判断。很少会以.constructor()重新调用执行对象构造函数的,至少我没见过这样用的。
vs2010 误解了 js 的二义性:
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。
感觉constructor有点特殊,因为设置Object.prototype.constructor没效果,其他的都有效果