前端初学者在学习时都会遇上一个很头疼的问题-----闭包那么什么是闭包? 官方的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。广义上的闭包就是指一个变量在它自身作用域的被使用了,就叫发生了闭包。粗鲁地理解:闭 ...
前端初学者在学习时都会遇上一个很头疼的问题-----闭包
那么什么是闭包?
官方的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
广义上的闭包就是指一个变量在它自身作用域的被使用了,就叫发生了闭包。粗鲁地理解:闭包就是能够读取其它函数内部变量的函数。 在js中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单粗暴地理解成“定义在一个函数内部的函数”,即一个函数嵌套了另一个函数。
闭包是很多语言都具备的特性,在js中,闭包主要涉及到js的几个其他的特性:
作用域链,垃圾(内存)回收机制,函数嵌套......
变量的作用域
Js中变量的作用域分两种:全局变量和局部变量。
函数内部可以直接读取全局变量。
1 var n = 'RORO彦';2 function f1() {3 console.log(n);4 }5 f1();
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:头疼的闭包
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。