对于前端人员面试,出现频率最多也是让人最头疼的就是面试官说:“请简单谈一谈你对闭包的理解”。对于这一个几乎快被人问烂的问题,屡屡出现在我们面试或被面试的过程中的原因很简单--我们一直都在接触闭包,却很少去正确地对待它。
因为闭包是因为JS的一些语言特性而形成的,所以在谈它之前我们首先要了解一下的知识点
1.执行上下文
2.作用域
3.垃圾回收机制
4.函数嵌套
本文只会简单的谈涉及到的内容,如果知识点有遗漏的同学可以自行google,接下来让我们进入正题!
1. 什么是闭包?
关于什么是闭包让我们先看看《高级程序设计》和《JavaScript权威指南》中的说法:
《高程》: 闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的常见方式,就是在一个函数内部创建另一个函数。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式