按名称调用函数,该函数不属于全局范围

假设我有这样的事情:

var MyApp = MyApp || {}; MyApp.feature = (function($){ var somelocalVariable, otherone init = function() { }, somePrivateFunction = function() { var functionName = 'otherFunction'; //how can I call otherFunction by name (using variable above) }, otherFunction = function() { }; return { init: init } })(jQuery); 

在这个例子中,如果我做window['otherFunction']就不会发生任何事情,因为它不是一个全局函数。 如何将其作为更私密范围的一部分执行?

将“window”替换为“this”

 this[functionName]();