从声明中引用javascript对象



为什么可以直接从对象内部引用对象?例如:

var object = {
prop1 : "Prop 1",
prop2 : "Prop 2",
func : _ => console.log(object)
}
object.func();

输出{prop1: 'Prop 1', prop2: 'Prop 2', func: ƒ}

同样我可以这样做:

var object = {
prop1 : "Prop 1",
prop2 : "Prop 2",
func : function() { console.log(this) }
}
object.func();

这将产生与上面相同的输出。我主要是想理解为什么从它的声明中引用变量名object是合法的。

在函数被调用之前,不会解析访问函数内部变量的尝试。…,这将在对象创建之后。

最新更新