js之constructor 和 super

Posted 逍遥妹纸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js之constructor 和 super相关的知识,希望对你有一定的参考价值。

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

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

所以我们在每一个对象实例中就可以访问构造函数的 prototype 所有拥有的全部属性和方法,就好像它们是实例自己的一样。当然该实例也有一个 constructor属性了(从 prototype 那里获得的),每一个对象实例都可以通过 constrcutor 对象访问它的构造函数,请看下面代码:

var f = new F();
alert(f.constructor === F);// output true
alert(f.constructor === F.prototype.constructor);// output true


具体原理和详细解释请看转载地址:https://blog.csdn.net/zengyonglan/article/details/53465505

 





以上是关于js之constructor 和 super的主要内容,如果未能解决你的问题,请参考以下文章

详解es6 class语法糖中constructor方法和super的作用

react中constructor和super的使用

关于react组件中的constructor和super

react中constructor和super()以及super(props)的区别。

Kotlin基础 关键字:constructor(this/super)

js算法之深度拷贝和深度比较