课程
/前端开发
/JavaScript
/JavaScript深入浅出
还是没看懂。。。。。。有没有简单一些的理解。闭包是函数?
2018-09-19
源自:JavaScript深入浅出 7-1
正在回答
function foo(x) { var tmp = 3; return function (y) { alert(tmp + y + x); } } var bar = foo(2); //bar现在就是闭包 bar(10);
可以把闭包理解为函数,是一种‘特殊’点的函数,普通的函数,咱们在函数调用后,函数里面的变量就被js当做垃圾回收,但是闭包就厉害了,在函数调用后,本例是foo(2),仍可以访问函数内部的变量,本例中是foo内部的变量tmp和参数x,由于闭包存在,tmp和x会对js垃圾回收机说:"我是bar函数大哥的小弟,你敢清理我么。" js垃圾回收机就默默走开了。。
蓝色是最温暖的颜色L
qq_吧啦吧啦_3 回复 蓝色是最温暖的颜色L
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
2 回答闭包的性能问题
1 回答关于常见错误——循环闭包例题
3 回答闭包前加一个!有什么作用呢?
2 回答为什么不先讲作用域在讲闭包呢?
2 回答老师,请问关于javascript的闭包有哪些进阶的方法推荐?