使用字串表示形式執行JavaScript 函數
查詢:您有一個儲存為字串的JavaScript 函數的名稱,並打算稍後調用它。如何將此字串轉換為函數指標以隨後呼叫該函數?
答案:
function executeFunctionByName(functionName, context /*, args */) { // Retrieve arguments var args = Array.prototype.slice.call(arguments, 2); // Split the namespace into parts var namespaces = functionName.split("."); // Get the function name var func = namespaces.pop(); // Iterate through namespaces and get the context for (var i = 0; i < namespaces.length; i++) { context = context[namespaces[i]]; } // Apply the function with the context and arguments return context[func].apply(context, args); }
executeFunctionByName("My.Namespace.functionName", window, arguments);
此解決方案允許基於字串表示的動態函數執行,甚至對於命名空間內的函數也是如此。考慮提供的全面解決方案來有效處理這種情況。
以上是如何使用字串名稱執行 JavaScript 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!