当时学的时候也是一头雾水,感觉没有一般情况下也不会使用闭包。也因为说不要滥用闭包一般情况下最好别用,所以对闭包理解的不是很彻底!
而突然有人说起了闭包,我有在网上找了很多例子,才发现其实自己用到闭包的地方很多,只是没有发觉而已!
那么什么是闭包呢?
有权访问另一个函数作用域内的变量的函数就是闭包。
举一些简单的例子来看一下大家是否在不知道的情况下使用了闭包:
1.function a(){ var n=0; function b(){ n++; console.log(n); } b(); b(); } a(); //先打印 1,在打印2
2.function one(){ var n=0; this.ones=function(){ n++; console.log(n); } } var c=new one(); c.ones(); //1 c.ones(); //2
//具体的一些经常出现的地方我感觉面向对象或者ajax请求数据处理的时候会多一点,有不对的地方可以畅所欲言!