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

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

作者: 前端大课堂 | 来源:发表于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 现在的解法 

相关文章

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

    关于闭包一个很小的面试题。 01 背景 在很久以前,面试中问起闭包应用场景的是,如果页面上有 N 个按钮要绑定点击...

  • 闭包1(基础)

    (什么是闭包?闭包的作用?闭包的缺陷?) (闭包的几种可能的应用场景) (闭包与内存泄漏,有关闭包的面试题) 推荐...

  • js闭包问题

    javascript 闭包的概念,闭包的作用,闭包经典面试题详解(配图解) 函数作用域(闭包前置知识) 要彻底弄懂...

  • 关于闭包 vue3 防抖 节流

    闭包好像成了面试题必考,干脆就学一下。我暂时理解的闭包:一个函数中嵌套着另一个函数,这个函数就是闭包。闭包不会内存...

  • 【JS】总算能把闭包经典面试题真的讲清楚了

    闭包的经典面试题 说到闭包,那么这个经典的闭包面试题,大家肯定都很熟悉: 这个例子当中为什么i输出的都是5呢?能够...

  • 好程序员web前端培训分享web前端面试题JS篇之闭包

    好程序员web前端培训分享web前端面试题JS篇之闭包,JS中关于闭包的相关知识。如果你想参加web前面工作,那么...

  • 闭包,原型链,继承,AJAX请求步骤等javaScript基础

    1.关于闭包 什么是闭包? 闭包是有权限访问其它函数作用域内的变量的一个函数。闭包概念:形成一个[不被销毁]的[私...

  • 闭包介绍

    闭包 关于闭包的定义: A closure is the combination of a function an...

  • Swift5 闭包及其应用

    关于如何理解闭包 学习闭包的第一个难点就是理解闭包,可能很多人用了很久的闭包都还不太清楚闭包到底是什么,我这里提供...

  • 一道js闭包面试题的学习

    最近看到一条有意思的闭包面试题,但是看到原文的解析,我自己觉得有点迷糊,所以自己重新做一下这条题目。 闭包面试题原...

网友评论

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

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