实例的__proto__ == 构造函数的prototype
- prototype是针对构造函数的(函数的内置属性)
-
__proto__是针对对象实例的(对象的内置属性)
img1
- Array、Function因为是构造函数所以有prototype
- Array.prototype、Function.prototype因为不是构造函数所以没有prototype
- Array.prototype、Function.prototype因为是对象实例所以有__proto__
var Person = function(){};
var p = new Person();
//*new的过程拆分成以下三步:*
//(1) var p={}; 也就是说,初始化一个对象p;
//(2) p. __ proto __ = Person.prototype;
//(3) Person.call(p); 也就是说构造p,也可以称之为初始化p
网友评论