你的位置:首页 > 软件开发 > Java > 头疼的闭包

头疼的闭包

发布时间:2015-12-24 21:01:03
前端初学者在学习时都会遇上一个很头疼的问题-----闭包那么什么是闭包? 官方的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。广义上的闭包就是指一个变量在它自身作用域的被使用了,就叫发生了闭包。粗鲁地理解:闭 ...

前端初学者在学习时都会遇上一个很头疼的问题-----闭包

那么什么是闭包? 

官方的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

广义上的闭包就是指一个变量在它自身作用域的被使用了,就叫发生了闭包。粗鲁地理解:闭包就是能够读取其它函数内部变量的函数。 在js中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单粗暴地理解成“定义在一个函数内部的函数”,即一个函数嵌套了另一个函数。 

闭包是很多语言都具备的特性,在js中,闭包主要涉及到js的几个其他的特性:

作用域链,垃圾(内存)回收机制,函数嵌套......

 

变量的作用域 

Js中变量的作用域分两种:全局变量和局部变量。 

函数内部可以直接读取全局变量。  

1 var n = 'RORO彦';2 function f1() {3   console.log(n);4 }5 f1();

原标题:头疼的闭包

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录