美文网首页
前端经典必问面试题---谈谈对闭包的理解。

前端经典必问面试题---谈谈对闭包的理解。

作者: 鸽屿_ | 来源:发表于2020-11-07 08:58 被阅读0次

首先我们说说回答的方向

1.先回答闭包是什么
2.闭包怎么样
3.闭包怎么用
4.自己平时在公司里是怎么用的

那么接下来我们分4个模块去回答:

一、闭包是什么

闭包,在javascript高级程序设计中定义如下:

“闭包是有权访问其他函数作用域的局部变量的一个函数”

当然,我们还需要做到补充以下关于闭包的理解

在原生js中,函数中变量的作用域仅属于它所在的函数作用域,在函数执行完后将会被回收机制清理,内存也会被收回,但是我们如果在里面添加了一个闭包,那么通过闭包可以访问上级作用域的原因,即使上级函数执行完,作用域也不会销毁,在此处的子函数便是闭包,此时它具有了范文上级作用域的权限,即使上级函数执行完,上级函数的作用域也不会销毁。

二、闭包怎么样

在此处,我们应该从闭包解决了哪些问题,有什么有点和缺点来回答,阮一峰在b

在本质上,闭包就是将函数内部和外部连接起来的一座桥梁。

当然,我们也进行自己的补充

优点:闭包可以缓存上级作用域,因此就使得函数外部打破了“函数作用域”束缚,可以访问函数内部的变量。在之前项目中我们使用的AJAX请求成功后的回调函数就是闭包的应用,它正是利用了闭包的上述访问上级作用域的特性,在回调函数中就拥有了它的上级函数作用域的访问和操作能力,因此,我们便不需要使用钩子函数去操作上级函数作用域内部的变量了
一句话总结:闭包两个作用,一是读取函数内部的变量,二是让这些变量的值始终存在内存之中。

三、闭包的使用

接下来我们开始谈及闭包的具体使用场景了。

闭包在之前的项目中,最长使用的场景有1.Ajax请求成功的回调,在闭包中对上级函数作用域中请求到的数据的访问。


2.事件绑定的回调

相关文章

  • 前端经典必问面试题---谈谈对闭包的理解。

    首先我们说说回答的方向 1.先回答闭包是什么2.闭包怎么样3.闭包怎么用4.自己平时在公司里是怎么用的 那么接下来...

  • [程序员每日5分钟]JS 中的闭包是什么

    闭包 是前端开发者面试必问的一个知识点。1、什么是闭包?2、闭包的作用是什么? 一、变量的作用域 你要学习和理解闭...

  • 闭包

    这个问题也是必问的题目.重在把自己对闭包的理解表达出来.而我对闭包的理解是源于很久之前看阮一峰大师讲的闭包(clo...

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

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

  • 文摘-20170305

    前端 释义图例详解那道setTimeout与循环闭包的经典面试题js中proto和prototype的区别和关系?...

  • js闭包问题

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

  • 谈谈对闭包的理解

    首先使用闭包就是为了设计私有的方法或者变量,即一个函数引用了外部环境的变量。避免了全局变量污染。常驻内存,使用不当...

  • Js中的闭包

    闭包 是前端面试必问的一个知识点 one: 什么是闭包 two: 闭包的作用是什么 一、变量的作用域 全局变量 和...

  • JS面试题

    index JS面试题 __Glimmer 谈谈对前端安全的理解,有什么,怎么防范? 前端安全问题主要有XSS、C...

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

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

网友评论

      本文标题:前端经典必问面试题---谈谈对闭包的理解。

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