1
最近我试图用对象文字创建一个对象。而且我需要一个在对象中使用另一个属性的属性。像这样当JavaScript引擎解释对象字面值时发生了什么?
var object = {
property1:'property1',
property2:'property2 is from ' + this.property1
};
console.log(object.property2);// property2 is from undefined
的this.property1
在property2
undefined
。
我知道很多方法来处理这个问题。我的问题是幕后发生了什么?换句话说,JavaScript引擎如何解释对象字面值?我知道“提升”发生在函数中。 “提升”是否发生在对象文字中?
谢谢。
'this'是函数作用域,而不是对象初始值设定项的作用域。 – Oriol