js 的prototype和constructor

2015-12-14  本文已影响65人  SecondRocker

js中每个函数(用function定义的对象)都有constructor属性。用new定义的对象和对象直接量({}形式的对象)没有constructor属性。该constructor指向对象的构造函数,有prototype属性,prototype属性指向一个prototype对象:


prototype和constructor相互引用

函数的constructor是 function Function(),而其他方式定义的对象的constructor(如果有的话)是function Object()

在使用new创建对象时会为该对象生成一个内置原型对象,他指向定义该对象的function的prototype对象,因此新创建的对象拥有其构造函数(或类)的prototype的方法。

想定义一个继承自某个对象的对象,只需要把子类prototype设置为父类的一个(实例化)对象。

上一篇 下一篇

猜你喜欢

热点阅读