javascript - 如何将函数作为参数传递以运行多次?

标签 javascript function parameters

我不是很了解函数闭包和匿名函数。我想做的是创建一个函数,该函数根据掷骰子随机运行输入的函数:

repeat(1,6,foobar());

function repeat(numDie, dieType, func){
    var total = 0;
    for (var i=0; i < numDie; i++){
        var dieRoll = Math.floor(Math.random()*dieType)+1;
        total += dieRoll;
    }
    for (var x=0; x < total; x++){
        func();
    }
}

我到底做错了什么?我是否必须将函数存储在变量中才能使用它?

最佳答案

通过编写 foobar(),您正在调用 foobar 并传递其返回值。

删除括号以传递函数而不是调用它。

关于javascript - 如何将函数作为参数传递以运行多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6193654/

相关文章:

javascript - Node js 中的函数外部无法访问外部 IP

javascript - 来自 Razor 的 Google map

javascript - HTML 内联 javascript 函数不起作用

使用对象的方法时出现 java.lang.nullPointerException

c - C 中函数参数/调用函数的问题

java - Play 框架中的静态方法与模板参数

javascript - 在 Javascript 中,您可以在同一类的另一个函数中调用该类的函数吗?

javascript - 我如何以编程方式 "highlight"对象,而不实际 "selecting"对象

javascript函数是对象吗?

c++ - 这是快 : returning a value by function OR saving the value in arguments/parameters