在这里附上:码云学习地址
移动端记账本
javascript核心开发要点
工作总结
首先呢,我们必须搞清楚闭包这个概念:闭包其实是一个特殊的对象,他由两部分组成,一个是执行上下文(代号A),以及在该执行上下文中创建的函数(代号B),当B执行时,如果访问了A中变量对象的变量,那么闭包就产生了。
今天我们就用chrome浏览器带你断点调试理解闭包,好了直接上代码吧
下面这段代码呢?非常简单,在平时实践当中,我们很容易看到,也知道他会产生闭包,但是到底为什么呢?
// 下面这个例子会产生闭包
function add(x) {
return function _add(y){
return x+y
}
}
var sum = add(2)(3)
console.log(sum)
上面这个例子毫无疑问打印出来肯定是 5
那么我们来使用chrome浏览器单步调试一下
看到右边的单步调试了?当内部函数_add被调用执行时,访问了add函数变量对象中的x,这个时候,闭包就会产生了,这里一