【问题标题】:How to invoke a function passed into another function only 2 times?如何只调用两次传递给另一个函数的函数?
【发布时间】:2016-06-09 01:08:09
【问题描述】:

我试图调用一个传递给另一个函数的函数只有 2 次。我的解决方案是错误的,我们将不胜感激!

function twoTimes(func){
 var count=0;
 for (var i=0; i<=2; i++){
 count++;
 if (count<2){
  return func();
}

 }
}

【问题讨论】:

  • 如果你执行返回,你不能执行循环两次。不知道为什么在循环时需要计数。
  • 不知道为什么这被标记为闭包

标签: javascript callback closures


【解决方案1】:

我认为你不应该使用return 语句,直到它被调用两次。尝试不使用return 语句。 或者你可以使用一些简单的方法,像这样:

function twoTimes(func){
 func();
 func();
}

【讨论】:

  • 要考虑的另一件事是,即使返回不存在,由于条件不匹配,您也只能执行一次函数。试试
【解决方案2】:

这是一种更简单的可能性。

要考虑的另一件事是,即使没有返回,由于条件不匹配,您也只能执行一次函数。试试

function nTimes(func, n){
    for (var i=0; i<n; i++){
         func();
    }
}

请注意,您的示例中的 count 是不必要的。既然你已经有了icount 只是额外的工作。

仔细查看http://www.w3schools.com/js/js_functions.asp 以获得更多熟悉感!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多