javascript递归和范围澄清

标签 javascript recursion

执行一个调用另一个函数的简单递归函数,范围偏离它第一次正确工作的地方,但下一次它总是将参数设置为未定义

function log(string){
    console.log(string)
}

function repeat(operation, num, param) {
    if (num <= 0) return
    operation(param)
    return repeat(operation, --num)
}

repeat(log, 5, "hello there")

最佳答案

您没有将“param”参数传递给递归调用。

function log(string){
    console.log(string)
}

function repeat(operation, num, param) {
    if (num <= 0) return
    operation(param)
    return repeat(operation, --num, param)
}

repeat(log, 5, "hello there")

应该修复它。

关于javascript递归和范围澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35248686/

相关文章:

javascript - 如何使用 jQuery 向超链接添加新属性

javascript - 如何修复我的递归函数?我正在接收一组数据

java - 嵌套类可以实例化外部类吗?

javascript - 递归地从 JavaScript 对象中删除空值

python - Python 中的尾递归优化装饰器

recursion - 如何返回具有不同值的列表?

javascript - jquery 消息窗口/对话框

javascript - 不变违规 : Could not find “store” in the context of “Connect(Login)”

javascript - 在 IE7 中更改类名时背景位置不起作用

javascript - SVG 蒙版的范围