JavaScript中的原型链
原型链是js对象中的一个概念,当你引用一个对象的属性的时候js会从当前对象向上寻找一直找到Object对象的原型对象。那么一个对象的原型链是如何构建的?原型链的源头是谁?
JavaScript和Java很类似,Java中所有类的都继承一个类Object。JavaScript中原型链的源头就是Object。JavaScript中没有将类和对象分开,java中对象就是类的一个实例,在JavaScript中对象也是由对象生成的。Object也是一个对象,你可以使用它来构造出更多它的副本,它的每个副本都有一个属性__proto__指向Object的原型对象。

Array是js中标准库的一个对象,它也有一个__proto__属性指向了Object原型对象,如下图

但是Object对象就没有__proto__属性因为它是原型链的源头

关于new关键字
使用new命令时,它后面的函数依次执行下面的步骤。
- 创建一个空对象,作为将要返回的对象实例。
- 将这个空对象的原型,指向构造函数的
prototype属性(将__proto__赋值为构造函数的原型对象)。 - 将这个空对象赋值给函数内部的
this关键字。 - 开始执行构造函数内部的代码
https://wangdoc.com/ 这个是阮一峰老师的web教程,里面的js教程写的很好,可以看看

浙公网安备 33010602011771号