让前端飞Web前端之路

佛系原型链:对象即空,空即是色,对象即色

2019-06-28  本文已影响2人  Hello杨先生

原型链:
由于 proto 是任何对象都有的属性,而JS里万物皆为对象,所有会形成一条 proto连起来的链
递归访问 proto 必须最终到头,并且值是null
当js引擎查找对象的属性时,先找到对象本身是否有该属性,如果不存在,会在原型链上找,但是不会查找自己的prototype

        var A = function () {};
        var a = new A();
        console.log(a.__proto__); //object     A的原型    A{}
        console.log(a.__proto__.__proto__); //Object   对象Afunction A 的原型
        console.log(a.__proto__.__proto__.__proto__); //null

原型的指向是可以改变的
实例对象的原型proto指向的是该对象所在的构造函数的原型对象
构造函数的原型对象prototype指向如果改变了,实例对象的原型proto指向也会改变
实例对象和原型对象之间的关系是通过proto原型来联系起来的,这个关系就是原型链

上一篇下一篇

猜你喜欢

热点阅读