首页 > web前端 > js教程 > 如何使用存储为字符串的名称来调用 JavaScript 函数?

如何使用存储为字符串的名称来调用 JavaScript 函数?

Mary-Kate Olsen
发布: 2024-12-26 04:03:09
原创
466 人浏览过

How Can I Call a JavaScript Function Using Its Name Stored as a String?

通过存储在字符串中的名称调用 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中文网其他相关文章!

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