每当代码读取某个实例对象的某个属性或方法时:
1.实例对象的属性的查找:
-
先在创建自身的构造函数中查找,找到即返回。
-
如果在创建自身的构造函数中没有找的,则沿着原型链向上查找,找到即返回。
-
如果一直到原型链的末端还没有找到,则返回
undefined
。
2.实例对象方法的查找:
-
同样会先在创建自身的构造函数的原型中查找,找到即返回。
-
如果没有找到,则沿着原型链继续查找,如果找到即返回。
-
如果一直到原型链的末端还没有找到该成员,则报错。
每当代码读取某个实例对象的某个属性或方法时:
1.实例对象的属性的查找:
先在创建自身的构造函数中查找,找到即返回。
如果在创建自身的构造函数中没有找的,则沿着原型链向上查找,找到即返回。
如果一直到原型链的末端还没有找到,则返回 undefined
。
2.实例对象方法的查找:
同样会先在创建自身的构造函数的原型中查找,找到即返回。
如果没有找到,则沿着原型链继续查找,如果找到即返回。
如果一直到原型链的末端还没有找到该成员,则报错。