【问题标题】:why setInterval automatically calls returning function为什么 setInterval 会自动调用返回函数
【发布时间】:2022-10-04 16:28:43
【问题描述】:

当我通过 setInterval 方法调用 cb 函数时,由 cb 函数返回的函数会在调用 cb 函数时自动调用,但是当我手动调用 cb 函数时,它会返回返回函数的原型。并且返回的函数不会被自动调用。

function cb() {
    let count = 0;

    return function() {
        count++;
        console.log(count);
    }
}
setInterval(cb(), 1000);

【问题讨论】:

  • cb() 在您第一次调用 setInterval 时被调用一次,并且返回的函数被注册为在每个间隔上调用。 “手动”调用它只是返回内部函数,为什么它会“自动”调用它?

标签: javascript memory-leaks setinterval


【解决方案1】:

正确的方法是通过 cb 参考

setInterval(cb, 1000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多