我知道这听起来很奇怪,但请耐心听我说。
我有一个像这样的对象:
Functions = {
function1: function() {
function2: function() {
alert('bam');
}
}
}
如何触发function2
?我尝试了 Functions.function1.function2
和 Functions.function1().function2()
但没有任何效果。我做错了什么吗?
最佳答案
这里有两个修改:
保留 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()();
底线是代码无法正常工作,因为您不能将标签视为函数的属性。
(据我所知)从 function1 调用 function2 最接近的是(没有 return 语句):
Functions = {
function1: function() {
}
};
Functions.function1.function2 = function() {
alert("bam");
};
Functions.function1.function2();
关于javascript - 访问对象内函数内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26346395/