我知道这听起来很奇怪,但请耐心等待。
我有一个这样的对象:
Functions = {
function1: function() {
function2: function() {
alert('bam');
}
}
}
如何解雇function2
?我尝试了Functions.function1.function2
和Functions.function1().function2()
但没有效果。我做错了吗?
答案 0 :(得分:1)
以下是两次返工:
保留function2标签
Functions = {
function1: function() {
function2:
(function() {
alert('bam');
})();
}
};
Functions.function1(); // You still can't access the label function2 however
删除function2标签(转回
)Functions = {
function1: function() {
return function() {
alert('bam');
};
}
};
Functions.function1()();
底线是代码不能正常工作,因为你不能将标签看作是函数的属性。
从函数1调用function2的最接近(据我所知)是(没有return语句):
Functions = {
function1: function() {
}
};
Functions.function1.function2 = function() {
alert("bam");
};
Functions.function1.function2();
答案 1 :(得分:0)
var test_func = {
test1:function(){
console.log("test1")
return {
test2:function(){
console.log("test2")
}
}
}
}
test_func.test1().test2()