内部对象(t1)是否有办法访问其容器对象。
var t = {
fnc1: function(){
alert("fnc1");
},
t1: {
fnc2: function(){
alert("fnc2");
},
fnc3: function(){
this.fnc1();
}
}
};
t.t1.fnc3();
执行以下代码时,我得到一个错误'this.fnc1不是函数',因为这是指t1对象而不是t对象。
有没有办法访问fnc1?
答案 0 :(得分:2)
答案 1 :(得分:0)
尝试将Javascript用作纯粹的OO语言,经常会引起许多挫折。
您可以尝试使用Javascript特定功能,主要是功能和闭包 我举了你的例子并做了一个变种:
var t = function(){
var str = "fnc",
fnc1 = function(){
alert( str + "1");
};
return {
fnc1:fnc1,
t1:{
fnc2:function(){
alert( str + "2");
},
fnc3:fnc1
}
};
};
t().t1.fnc3();