为什么可以直接从对象内部引用对象?例如:
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
是合法的。
在函数被调用之前,不会解析访问函数内部变量的尝试。…,这将在对象创建之后。