setinterval 必报_setInterval中的变量问题?这是闭包问题么?

MMTTMM

**因为你每次调用函数goTop,又let i=0;把i重新声明为0了 要输出1234....只需要把let扔出去**    let i = 0;

    var goTop = function() {

        i++;

        console.log(i);

    }

    setInterval(goTop, 1000)顺便下面这个才叫闭包:闭包的二大要点:// 1、在函数A外面,调用函数A内的内容——函数B// 2、函数B可以层层向上调用局部变量n和全局变量m,但是外面的无法获取nvar m = 100;function A() {    var n = 50;    function B() {

        n++;        var sum = n + m;        console.log(sum);

    }    return B; // 此处注意是 B 而不是B(),返回的是函数的内容,而不是执行后的结果}var c = A();

c();


版权声明:本文为weixin_29635155原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。