javascript – 如何使用存储在变量中的值来调用函数?

前端之家收集整理的这篇文章主要介绍了javascript – 如何使用存储在变量中的值来调用函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个变量
var functionName="giveVote";

我需要做的是,我想调用存储在var functionName中的函数.我尝试使用functionName(); .但它不起作用.请帮忙.

编辑基于同样的问题,我有

$(this).rules("add",{txtInf: "^[a-zA-Z'.\s]{1,40}$" });

rules是一个预先定义的函数,它接受methodName:,这里我有硬编码的txtInf.但我想在这里提供一个javascript变量,以使我的代码通用.
var methodName =“txtInf”;

在这里,我想先在methodName函数中使用之前评估methodName.

$(this).rules("add",{mehtodName: "^[a-zA-Z'.\s]{1,40}$" });

解决方法

您有一些选项 – 两个基本选项包括window [functionName]()或setTimeout(functionName,0).给那些人一个机会.

编辑:如果您的变量只是函数的字符串名称,请使用这些;否则,如果你能够实际为变量分配一个函数引用(例如,var foo = function(){};),你可以使用foo()表示法,或者foo.apply(this,[]),等等

编辑2:要在$(this).rules()触发之前评估methodName,你只需应用上面的第一个语法(使用window对象),如下所示:

$(this).rules("add",{window[methodName](): ...});

我认为这就是你所要求的 – 如果没有,请澄清一点,我会很乐意重写一个解决方案.

猜你在找的JavaScript相关文章