我可以这样做:
function exec(fn){
setInterval(fn,0);
}
exec("newfn()");
但寻找更清洁的方式。
答案 0 :(得分:2)
正如评论中已经提到的,将函数传递给另一个函数的最佳方法是将引用传递给它,而不是包含其名称的字符串。
示例:
function foo() {
console.log('Inside foo');
}
exec(foo);
要在exec中执行函数,只需将()
放在函数引用之后:
function exec(fn) {
fn();
}
但是,虽然你绝对可以做到这一点,但我认为使用exec(foo)
优于foo()
没有任何优势。
答案 1 :(得分:0)
你可以这样做:
function exec(fn){
window[fn]();
}
exec("newfn");
如果功能在全球范围内。
答案 2 :(得分:0)
只需传递函数名称:
function exec(fn){
setInterval(fn,0);
}
exec(newfn);