打印实例对象为什么在控制台中显示__proto__:Object

请看代码:

function Person(name){ this.name=name; } 
Person.prototype.printName=function(){ alert(this.name); } 
var person1=new Person('Byron'); 
var person2=new Person('Frank');

代码截图:
Screenshot_2020-04-05-05-55-55-56.png

预期截图:
IMG_20200405_055812.jpg

问题:预期截图中的箭头是我的问题点,实际上我在控制台中打印的结果此处变了__proto__:Object;
我换了很多浏览器也new了很多自定义的构造函数,打印实例的时候,控制台都是__proto__:Object;
可是预期截图中也是我找到的截图,说明理论上应该打印的是所在原型,也就是__proto__:Person;才符合逻辑。
我想问为什么控制台不这么显示?

阅读 3.8k
1 个回答

__proto__的值是Person.prototype而不是Person,Person是其构造函数
__proto__和person1.construcotr.prototype是一样的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题