javascript闭包详解(最通俗的语言解释什么是闭包) | 您所在的位置:网站首页 › 什么是闭包js › javascript闭包详解(最通俗的语言解释什么是闭包) |
伊生臻爱整理 深入理解 JavaScript 闭包 闭包(closure) (closure) 最近在网上查阅了不少 Javascript 闭包 (closure) 相关的资料,写的大多是非常的学术和专业。 对于初学者来说别说理解闭包了, 就连文字叙述都很难看懂。 撰写此文的目的就是用最通俗 的文字揭开 Javascript 闭包的真实面目。 一、什么是闭包? “ 官方 ” 的解释是: 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式 (通常是一个 函数) ,因而这些变量也是该表达式的一部分。 相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是: JavaScript 中所有的 function 都是一个闭包 。 不过一般来说,嵌套的 function 所产生的闭包 更为强大,也是大部分时候我们所谓的 “ 闭包 ” 。看下面这段代码: function a () { var i = 0 ; function b () { alert ( ++ i ) ; } return b ; } var c = a () ; c () ; 这段代码有两个特点: 1 函数 b 嵌套在函数 a 内部; 2 函数 a 返回函数 b 。 |
CopyRight 2018-2019 实验室设备网 版权所有 |