首页 > web前端 > js教程 > 如何使用字符串名称执行 JavaScript 函数?

如何使用字符串名称执行 JavaScript 函数?

Linda Hamilton
发布: 2024-12-19 10:27:16
原创
696 人浏览过

How Can I Execute a JavaScript Function Using Its String Name?

使用字符串表示形式执行 JavaScript 函数

查询:您有一个存储为字符串的 JavaScript 函数的名称,并打算稍后调用它。如何将此字符串转换为函数指针以随后调用该函数?

答案:

  • 避免 eval: 使用更安全的替代方案,例如 window["functionName “](参数)或window"My"["functionName"](arguments).
  • 便捷函数:实现类似executeFunctionByName的函数,如下所示:
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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板