函数的prototype属性
- 每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为:原型对象)
- 原型对象中有一个属性constructor,它指向函数对象
给原型添加属性(一般都是方法)
作用:函数的所有实例对象自动拥有原型中的属性(方法)
显式原型
每个函数function都有一个prototype,即显式原型(属性)
隐式原型
每个实例对象都有一个_ proto _,可称为隐式原型(属性)
对象的隐式原型的值为其对应构造函数的显示原型的值
总结
函数的prototype属性:在定义函数时自动添加的,默认值是一个空Object对象
对象的_ proto _属性:创建对象时自动添加的,默认值为构造函数的prototype属性值
能直接操作显式原型,不能直接操作隐式原型(ES6之前)
原型继承
构造函数的实例对象自动拥有构造函数原型对象的属性(方法)
- 函数的原型指向的对象:默认是空的Object实例对象(但Object不满足)
- 所有函数都是Function的实例(包含Function)
- Object的原型对象是原型链的尽头
每日一句
为了不让生活留下遗憾和后悔,我们应该尽可能抓住一切改变生活的机会。