JS闭包理解

Posted huturenji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS闭包理解相关的知识,希望对你有一定的参考价值。

Js闭包理解

在很多面试题中都会问什么是js的闭包,为什么需要使用闭包,使用闭包的优缺点!

我在面试其他人的时候也喜欢问这个问题,回答的也是千奇百怪,现在就总结一下我对闭包的理解。

闭包是一种概念,这种概念比较复杂,很多地方的定义不尽相同,我的理解是:闭包是能读取函数内部变量的函数,也就是定义在函数内部的函数,成为函数内部元素与外部沟通的桥梁。

闭包的概念是有js的链式作用域引出来的,所谓链式作用域就是指:内部函数可以读取到所有的外部变量,而外部变量或者函数不能读取到函数的内部变量,变量的作用域是由代码块决定的。

参考资料:

http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

以上是关于JS闭包理解的主要内容,如果未能解决你的问题,请参考以下文章

js中的闭包理解

JS闭包理解

js闭包(closure),个人理解

js-我理解的闭包

javascript深入理解js闭包

关于js中闭包的理解