闭包是指有权访问另一个函数作用域的变量的函数
setTimeout
setTimeout(func,time)
这里的func不能带参数,解决这个问题需要用闭包function func(param) { return function() { alert(param); } } var f = func(1) setTimeout(f, 1000);
代替全局变量
//闭包,test2是局部变量,这是闭包的目的 //我们经常在小范围使用全局变量,这个时候就可以使用闭包来代替。 (function(){ var test2=222; function outer(){ alert(test2); } function test(){ alert("测试闭包:"+test2); } outer(); //222 test(); //测试闭包:222 } )(); alert(test2); //未定义,这里就访问不到test2
为节点循环绑定click事件,在事件函数中使用当次循环的值或节点,而不是最后一次循环的值或节点
- 创建特权方法用于访问控制