我正在尝试将函数名称及其参数作为参数传递并调用它
这是代码
$(document).ready(function(){
runfn(getUserName,paramValue);
});
function runfn(fnName,param){
fnName(param);
};
function getUserName(userId){
alert(userId);
};
随时编辑this fiddle
我想使用此方法调用带参数的函数
答案 0 :(得分:1)
如果您需要,可能需要使用eval()。请注意,这有潜在的安全问题。您也可以在全局窗口对象上调用该函数:window[fnName]();
此外,在您的情况下,您也可以将引用传递给函数。意思是,不要将函数名称指定为字符串,而是将其作为函数指定。
callMe(functionToCall);
function callMe(fn){
fn();
}
function functionToCall(){
alert('Called!');
}
答案 1 :(得分:1)
您需要将其作为函数名称而不是字符串
传递<强> DEMO HERE 强>
只需要进行更改的示例代码:
$(document).ready(function(){
alert("loaded");
runfn(test);
});
<强>更新强>
只需在调用函数的阶段传递参数,如下所示:
<强> UPDATED DEMO 强>
$(document).ready(function(){
alert("loaded");
runfn(test);
});
function runfn(fnName){
alert(fnName);
fnName('name');
};
function test(name){
alert(name);
};