前端面试:js闭包,为什么要使用闭包

要理解闭包,首先理解javascript特殊的变量作用域,变量的作用于无非就是两种:全局变量,局部变量。

javascript语言的特殊处就是函数内部可以读取全局变量。

1.如何从外部读取局部变量?

我们有时候需要得到函数内的局部变量,但是在正常情况下,这是不能读取到的,只有通过变通方法才能读取到。

2.闭包的概念

各种专业文献上的“闭包closure”定义非常抽象,很难看懂。可以这样理解,闭包就是i能够读取其他函数内部变量的函数。

在javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

3.闭包的用途

闭包可以读取函数内部的变量,可以让变量的值始终保持在内存中。

转载于:https://www.cnblogs.com/maggie-pan/p/6392847.html

你可能感兴趣的:(前端面试:js闭包,为什么要使用闭包)