从其声明中引用 javascript 对象
Referencing a javascript object from within its declaration
为什么可以直接从对象内部引用对象?例如:
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
是合法的。
在函数被调用之前,无法解析访问函数内部变量的尝试……这将在创建对象之后进行。
为什么可以直接从对象内部引用对象?例如:
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
是合法的。
在函数被调用之前,无法解析访问函数内部变量的尝试……这将在创建对象之后进行。