原型和原型链

原型:对象共享属性和共享方法

函数拥有:prototype   

对象拥有:__proto__

 

function Fun () {         //构造函数或者普通函数   有prototype 指向构造函数的原型

     this.run='2'

}

var obj = new Fun()    //创建了一个对象    有__proto__  指向构造函数的原型

 

obj.run="1"  //对象本身

obj.__proto__.run="3"   //对象的原型

Object.prototype.run="4"   //构造函数的原型

 

对象查找属性或方法的顺序:

先在对象本身查找,再到构造函数中查找,再到对象的原型中查找,再到构造函数的原型中查找,再到原型的原型中查找

 

原型链:对象的属性或方法这种链式查找的过程就是原型链(原型链的顶端是null)

 

posted @ 2023-04-05 18:07  爱吃蔬菜的小红帽  阅读(32)  评论(0)    收藏  举报