美文网首页前端大讲堂让前端飞
一个关于闭包很小的面试题

一个关于闭包很小的面试题

作者: 前端大课堂 | 来源:发表于2019-04-17 09:34 被阅读12次

    关于闭包一个很小的面试题。

    01 背景

    在很久以前,面试中问起闭包应用场景的是,如果页面上有 N 个按钮要绑定点击事件,点击后弹出 0, 1, 2, 3 ... 

    用一个 for 循环来绑定,那么这样子

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

        btns[i].onclick = function() {

            alert(i); 

        }

    }

    可以吗? 当然不行,要用闭包。 

    下面三个例子说明,大家自己运行下就好了。 

    02 没有闭包的情况

    结果是 4, 4, 4, 4 

    03 加上闭包解决问题

    结果是 0, 1, 2, 3 

    04 现在的解法 

    相关文章

      网友评论

        本文标题:一个关于闭包很小的面试题

        本文链接:https://www.haomeiwen.com/subject/uiykiqtx.html