JS原型和原型链的理解
-
每个函数function都有一prototype属性,也就是通常所说的显使原型。
-
每一个函数的实例对象都有一个__ proto __属性,被称为隐式原型。
-
对象的隐式原型的值等于构造函数显式原型的值
function Fn () {} fn = new Fn() Fn.prototype === fn.__prototype__
prototype :在定义函数的时候,自动添加prototype属性,默认是一个空object对象。
proto:对象创建时自动添加,默认值是构造函数的prototype的属性值。
- 实例化对象的__ proto __ === 当前构造函数的 prototype;
- 构造函数的__ proto __ === object.prototype;
- object.prototype.__ proto __ === null;