原型对象
实例
| [[Prototype]] ——》 原型 | .constructor ————》 构造函数(通过原型的constructor查找) |
注意: 实例的prototype属性是没有被显示声明的。 如果手动设置了 prototype 属性, 这个属性仅作为一个普通对象属性而已
构造函数
| .prototype ——》 原型 | 2. new 构造函数 ———》 实例 |
原型
| .constructor ——》 构造函数 | Object.hasPrototype(实例) / 实例.isPrototypeOf原型) ——》实例 |
属性
|
hasOwnProperty() 判断属性属于实例还是原型
|
“属性” in 实例 :判断属性是不是属于原型或者实例上(枚举 for in / Object.keys(实例)) |
注意点
1.所有的函数在初始化的时候都有一个prototype属性,该属性的初始值是一个空对象。只有函数作为构造函的时候, propotype属性会发挥作用
3.任何原型链上对象,instanceof操作都会返回true
4.IE8及其以上,和其他浏览器,所以DOM元素都继承于HTMLElement构造函数。用过访问HTMLElement的原型,可以扩展任意HTML节点
5.继承Array的子类,在IE中不会提供length属性,需要自己初始化

浙公网安备 33010602011771号