使用字符串表示形式执行 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中文网其他相关文章!