JS 原型

1.原型对象

当把一个函数作为构造函数 (理论上任何函数都可以作为构造函数) 使用new创建对象的时候,那么这个对象就会存在一个默认的不可见的属性,来指向了构造函数的原型对象。 这个不可见的属性我们一般用 [[proto]] 来表示,只是这个属性没有办法直接访问到。

JS 原型_第1张图片
6663492.png
JS 原型_第2张图片
Paste_Image.png

2.prototype属性

构造函数的默认属性,它指向了函数的原型对象

3.constructor属性

原型对象的默认属性,它又指向了构造函数本身

给函数的prototype的属性,赋值一个新的原型对象

修正constructor


JS 原型_第3张图片
Paste_Image.png

4._proto_ 属性(注意:左右各是2个下划线)

通过new得出来的 p1 的属性,它指向了构造函数的原型对象

5.hasOwnProperty() 方法

测试new出来的p1有没有这个属性

JS 原型_第4张图片
Paste_Image.png

6.in操作符

用来判断一个属性是否存在于这个对象中。

JS 原型_第5张图片
Paste_Image.png

7.综合一下判断属性存在于哪里

JS 原型_第6张图片
Paste_Image.png
JS 原型_第7张图片
Paste_Image.png

8.组合模式

原型 + 构造
在构造函数内添加属性
在原型上定义方法

JS 原型_第8张图片
Paste_Image.png

你可能感兴趣的:(JS 原型)