【发布时间】:2015-03-24 08:14:30
【问题描述】:
在 JavaScript 中,如果我创建一个构造函数 Foo,一个原型 对象也将被创建为 Foo.prototype。所以我尝试了这个:
function Foo() { this.xx = 1000}
我认为创建的原型对象 Foo.prototype 将具有 属性 xx = 1000。所以我尝试了这个:
console.log(Foo.prototype.xx);
但结果是“未定义”。这是为什么呢?
不应该有一个具有单一属性 xx 的 Foo.prototype 对象 1000?
谢谢。
【问题讨论】:
-
this.xx指的是实例对象,而不是原型... -
无论你在构造函数中做什么,在你调用构造函数之前它都不会被计算。没有
new Foo(),任何地方都不会有xx。而且它也不在原型上。 -
也许下面的答案可以帮助你:stackoverflow.com/a/16063711/1641941
标签: javascript prototype