抱歉,帖子标题模糊,我无法为这篇文章制定正确的英文名称。
例如我有这样一个对象:
var APP = {
a : 1,
b : function(){
return this.a;
}
}
这样,如果我打电话console.log ( APP.b() )
than this
将引用 APP,结果将是1
.
但是如何从子对象连接到APP呢?
例子:
var APP = {
a : 1,
b : function(){
return this.a;
},
c : {
c1: function(){
return APP.a;
}
}
}
console.log ( APP.c.c1() ) // 1
这个例子是可行的,但是直接指向APP是个坏主意。例如:
APP2 = APP;
APP = null;
console.log ( APP2.b() ); // 1
console.log ( APP2.c.c1() ); // APP is undefined
UPD:
我有一个半决定:
如果我申报财产c
就像一个方法:
c : function(){
var self = this;
return {
c1: function(){
return self.b();
},
c2: function(){}
}
}
它会起作用,但我应该调用方法而不是属性(括号太多):
console.log( APP2.c().c1() )
代替console.log( APP2.c.c1() )