闭包 && 综合题

    xiaoxiao2021-03-25  68

    基础就不说了 。直接给链接吧·······

    闭包: http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

    直接上综合题了:

     for (var i = 0; i < 5; i++) {

        setTimeout(function() {         console.log(i);     }, 1000); }

    console.log(i);  

    在这个js的基础上修改 吧变量i的输出顺序变为 5 0 1 2 3 4

    for(var i = 0; i < 5; i++) {         setTimeout(function() {             console.log(i); //5 5 5 5 5         }, 1000);     }

    /********************************************华丽的分割线************************************************/

    解答1:

    var f2 = f1(); for (var i = 0; i < 5; i++) {     f2();     (function (a) {         setTimeout(function() {             console.log(a); // 0 1 2 3 4         }, 1000);     }(i)) } function f1() {     var num=1;     return function () {         num++;         if(num == 5) console.log(num); //5     } }

    解答2:

    for (var i = 0; i <= 5; i++) {     var num = Math.ceil(Math.abs(i-5)/5) * 1000;     (function (a) {         setTimeout(function() {             console.log(a); // 5 0 1 2 3 4         }, num);     }(i)) }

    转载请注明原文地址: https://ju.6miu.com/read-36652.html

    最新回复(0)