如何在下面的代码中从外部调用内部函数?
(function (){
var funOne = {
funTwo : function (){
var funFour = function(){
console.log('inner function working');
}
},
funThree : function () {
console.log('working');
}
}
funOne.funTwo(); // works
funOne.funThree(); // works again
funOne.funTwo.funFour(); // throwing exception
})();
最佳答案
通过尝试将 funTwo 定义为一个函数 (funOne.funTwo()
) 和一个对象 (funOne.funTwo.funFour()
)。
这里有 2 个访问 funFour 的选项:
- 让 funTwo 让 funFour 在更易于访问的级别上访问(例如,通过 funOne)。
- 让 funTwo 在一个对象中返回 funFour。您仍然需要添加括号才能在输出中实际调用
funTwo()
。
如何改变 funTwo:
funTwo : function (){
var funFour = function(){
console.log('inner function working');
};
funOne.funFour = funFour; // Option 1
return { 'funFour': funFour }; // Option 2
},
如何调用每个选项:
funOne.funFour(); // Option 1
funOne.funTwo().funFour(); // Option 2
关于javascript - 如何在另一个函数中访问一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30722721/