按js的标准定义constructor是属性,但是它的值通常却是构造函数的引用。既然它的值是函数,自然就可以用.constructor()这种“方法”式的语法。按js的设计 constructor 的作用一般做为属性进行比较判断。很少会以.constructor()重新调用执行对象构造函数的,至少我没见过这样用的。

解决方案 »

  1.   

    constructor 中文释义 构造函数
    vs2010 误解了 js 的二义性:
    constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。
      

  2.   


    感觉constructor有点特殊,因为设置Object.prototype.constructor没效果,其他的都有效果
      

  3.   

    是一个 Function类型的属性
      

  4.   

    其实是属性还是方法并不重要。在javascript中“一切皆数据”,包括Function也是数据。属性与方法只不过是对数据的不同的使用方式而已