我有以下脚本:
var Person = function (name) {
this.name = name;
};
var person = new Person('James');
console.log(person.name);
var anotherPerson = new Person('Kate');
console.log(anotherPerson.name);
console.log(Person.prototype);
Chrome中的控制台显示以下内容:
James
Kate
Person {}
而Mozilla的控制台显示
James
Kate
Object {}
我认为最后一个变体是正确的。那么,为什么Chrome会显示此问题?我已经读到不同的浏览器以不同的方式实现____proto____属性,但是在这种情况下怎么了?
谢谢你。
console.log()
不是标准。每个浏览器都有自己想要显示的实现。就您而言,Chrome采取了额外的步骤,注意到它可以向您显示的信息不仅仅是对象的普通Javascript类型,而Firefox并没有做额外的工作。
如果您正在寻找任何一个人都在做自己正在做的事情的合理原因,那么我怀疑您会找到一个。这只是实现上的差异。都没错。一个正在尝试向您显示更多信息。两种实现只是做出了不同的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句