javascript - 在 javascript 中将函数作为参数传递,而不是作为函数的返回值

标签 javascript function parameters callback

假设我有一个函数 roll() ,它随机返回一个值 1-6。现在,如果我有另一个名为 RepeatFunction 的函数,它接受一个函数作为参数和一个数字 n。 RepeatFunction 的目的是调用它作为参数的任何函数 n 次。但是,如果我将 roll() 作为参数传递,repeatFunction 会将其解释为 roll() 函数返回的值 1-6,而不是函数。目前我的代码如下:

function repeatFunction(func, n){
    for(i = 0; i < n; i++){
        func;
    }
}
repeatFunction(roll(), 10);

我如何获得它,以便repeatFunction将func参数解释为函数而不是返回值,以便我可以在repeatFunction中再次调用它?

最佳答案

传递对 roll 函数的引用,并在重复函数内将其作为回调调用。像这样,

function repeatFunction(func, n){
    for(i = 0; i < n; i++){
        func();
    }
}
repeatFunction(roll, 10);

关于javascript - 在 javascript 中将函数作为参数传递,而不是作为函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48602432/

相关文章:

c# - C# Lambda 中的可变参数

java - 通过build.gradle文件告诉IntelliJ为Javac设置-parameters标志

javascript - 如何使程序在不重新输入的情况下恢复为原始文本

javascript - 比较 JavaScript 中处理异常的实现

javascript - IE中如何通过ID获取元素? ( Visual Studio 8?)

每次从函数返回时可以重置全局变量的值吗

sql - 如何将架构作为参数传递给sql server中的存储过程?

javascript - 使用 WebGL 绘制 2d Uint8ClampedArray RGBA 数据

JavaScript 输入查询字符串不接受空格制表符而是字母

python - 向函数添加行