对于原型的理解:
对象通过原型继承相关的属性及方法。
实例对象可以通过__proto__访问构造函数的prototype
function A(){};
var a = new A();
console.log(a.__proto__ === A.prototype);
实例,构造函数,对象均由构造函数构建。
1.实例的父亲是构造函数,对象的父亲是Object,构造函数的父亲是Function,
2.构造函数,Function也属于对象,
3.根据关系可以列出:
fn.__proto__ === Fn.prototype;
// 实例的父亲是Fn构造函数
Fn.__proto__===Function.prototype;
// 构造函数Fn的父亲是Function
obj.__proto__ === Object.prototype;
// 实例的父亲是Object构造函数
Object.__proto__===Function.prototype;
// 构造函数Object的父亲是Function
Object.__proto__.__proto__===Function.prototype.__proto__===null;
(可理解为Object的原型没有父亲)
Fn.prototype.__proto__===Object.prototype;
// Fn的原型的父亲是Object
Function.prototype.__proto__===Object.prototype;
// Function的原型的父亲是Object
ps:图为网上查找,如有问题,请私聊。