js之constructor 和 super

constructor 是专门为function而生的,它存在于每个function的prototype 属性中,这个constructor保存了指向function的一个引用。函数

在执行以下代码时   function F() { // some code }  ,会产生2个动做:1是为函数添加一个原型属性(prototype)  2。为 prototype 对象额外添加一个 constructor 属性,而且该属性保存指向函数F 的一个引用。
这样当咱们把函数F做为自定义构造函数来建立对象的时候,对象实例内部会自动保存一个指向其构造函数内部(即自定义构造函数F的)一个属性proto,spa

因此咱们在每个对象实例中就能够访问构造函数的 prototype 全部拥有的所有属性和方法,就好像它们是实例本身的同样。固然该实例也有一个 constructor属性了(从 prototype 那里得到的),每个对象实例均可以经过 constrcutor 对象访问它的构造函数,请看下面代码:.net

具体原理和详细解释请看转载地址:https://blog.csdn.net/zengyonglan/article/details/53465505var f = new F(); alert(f.constructor === F);// output true alert(f.constructor === F.prototype.constructor);// output true
相关文章
相关标签/搜索