如何执行一个JavaScript函数,当我发送它的名字作为字符串动态不带参数
How to execute a JavaScript function when I send its name as string dynamically without parameters
我想执行JavaScript函数,该函数的名称动态地作为字符串出现。我不需要在执行函数时传递任何参数。
请问谁能指导我如何实现这一点?
一个简单的方法
eval("SomeFunction()");
或
var funcName = "SomeFunction";
var func == window[funcName];
func();
危险,但你可以使用eval(method_name+"()")
你说的是' eval() ' ??
var foo = "alert('bar')";
eval(foo);
函数a() {console.log("是的!");}var funcName = 'a';//获取函数名这(funcName) ();
如果函数是全局的,你应该在浏览器中执行window[funcName]()
使用eval
是最糟糕的方法。无论如何都要避免。
您可以这样使用window[functionname]()
:
function myfunction() {
alert('test');
}
var functionname = 'myfunction';
window[functionname]();
这样你也可以选择添加参数
也许更安全的方法是这样做(这里只有伪代码):
function executer(functionName)
{
if (functionName === "blammo")
{
blammo();
}
else if (functionName === "kapow")
{
kapow();
}
else // unrecognized function name
{
// do something.
}
您可以使用switch语句(这似乎是一个更好的结构):
switch (functionName)
{
case "blammo":
blammo();
break;
case "kapow":
kapow();
break;
default:
// unrecognized function name.
}
您可以通过创建函数名数组来优化这一点,在数组中搜索所需的函数名,然后执行数组中的值。
相关文章:
- Facebook共享动态参数链接
- 在 angularjs 的 ga 命令中设置动态参数
- JavaScript动态参数
- 在JQGridshowlink格式化程序中添加了动态参数
- 如何使用 javascript 在 HTML 电子邮件中显示动态参数
- 使用动态参数调用函数
- 使用 innerHTML 将动态参数传递给 JavaScript 函数
- Angularjs:隐藏包含动态参数的网址的导航栏
- 解绑,然后将 OnClick 函数(带有动态参数)绑定到 jQuery 或 JavaScript 中继器中的锚标记
- 使用和返回动态参数是否安全
- 创建具有动态参数排列的方法/函数
- 将动态参数应用于 JavaScript 函数,但延迟调用
- ejs :添加动态参数
- 支柱 2 使动态参数
- 具有动态参数长度的函数
- 使用动态参数设置onclick属性
- URL中包含动态参数的快速路由
- 将动态参数传递给IIFE
- Javascript中的动态参数
- Datatables-使用具有多个表和动态参数的Ajax数据源(sAjaxSource)