为了避免自定义构造器中每一个对象都拥有完全一样的属性和方法造成内存耗用的问题,我们可以通过原型将其中共享的部分都放在一块地方被引用,从而达到共享的目的。
-
原型
对象的prototype属性指定了它的原型对象,可以用.运算符直接读它的原型对象属性,当写这个属性时才在它自己内部产生实际的属性。
原型
可以看到,当我们调用其中的属性,而对象没有时,就会顺着原型链上面找到它原型中的方法。
-
原型链
不仅创造的对象可以指向自定义构造器中的原型对象获取里面的属性,还可以指向引擎内部的原型对象来获取里面的方法和属性,同理自定义构造器是由函数申明的,也可以指向function里面的方法和属性。
原型链
- 原型链的属性查找,属性修改(自身属性),属性删除(无法删除原型链)
- 注意,使用object.hasOwnProperty的时候,如果返回值为false,要么不存在,要么改属性在原型链上面
网友评论