美文网首页
prototype与__proto__的区别

prototype与__proto__的区别

作者: 梦行乌托邦 | 来源:发表于2020-07-04 10:26 被阅读0次

实例的__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

相关文章

网友评论

      本文标题:prototype与__proto__的区别

      本文链接:https://www.haomeiwen.com/subject/hebeqktx.html