【发布时间】:2014-04-04 11:54:56
【问题描述】:
我正在尝试了解 js prototypes 和 classes 的工作原理,我正在使用 Chrome 的 console.log 在添加新属性等时打印并查看对象的状态。
这是我正在使用的代码:(fiddle)
function Person(){}
Person.prototype.sayHello = function(){ alert("Hello"); };
Person.prototype.name = "Name";
console.log(Person.prototype) //1st console.log
Person.prototype.surname = "Surname";
console.log(Person.prototype); //2nd console.log
我希望在控制台中打印两个不同的结果,因为surname 属性是在第一个控制台日志之后添加的。相反,这是控制台输出:
如您所见,两个输出都定义了 surname 属性,即使它仅在第一个 console.log 之后添加..
你能解释一下为什么吗?我错过了什么?调用时console.log不显示对象的当前状态吗?
提前谢谢你,最好的问候
【问题讨论】:
标签: javascript prototype console.log