透過儲存在字串中的名稱呼叫JavaScript 函數
在某些情況下,您可能會遇到函數名稱為一個字串並需要執行它。為此,請按照以下步驟操作:
方法1:對於平面函數
對於不屬於命名空間的函數,請使用以下語法:
window["functionName"](arguments);
方法2:對於命名空間函數
對於命名空間內的函數,需要使用以下語法:
var namespaces = functionName.split("."); var func = namespaces.pop(); for (var i = 0; i < namespaces.length; i++) { context = context[namespaces[i]]; } context[func].apply(context, args);
方法3:使用便利函數
到簡化流程,您可以利用以下便利函數:
function executeFunctionByName(functionName, context /*, args */) { var args = Array.prototype.slice.call(arguments, 2); var namespaces = functionName.split("."); var func = namespaces.pop(); for(var i = 0; i < namespaces.length; i++) { context = context[namespaces[i]]; } return context[func].apply(context, args); }
呼叫函數
要使用🎜>呼叫函數
executeFunctionByName("My.Namespace.functionName", window, arguments);
以上是如何使用儲存為字串的名稱來呼叫 JavaScript 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!