如何在函数中输入函数

时间:2014-04-28 13:52:23

标签: javascript jquery

我可以这样做:

 function exec(fn){
     setInterval(fn,0);
 }

 exec("newfn()");

但寻找更清洁的方式。

3 个答案:

答案 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);