闭包

Tags
javascript
Created
Apr 26, 2015 2:00 PM

即时运行函数写法:

  • ~function(){}() //位操作符,+也行,因为操作符后面是表达式,不会解释成函数定义语句和()连接
  • (function fun() {})() // 这是一个函数表达式(放在需要表达式的地方),‘fun’是函数名称,只能在内部使用。

===

闭包陷阱

for(var i=1;i<=5;i++){
  setTimeout(function(){
  console.log(i);
}, i*1000);}

闭包有个重要的作用就是,在内层函数引用外层函数定义的变量时,外层函数的变量会被持久化。可用作缓存数据

SuperMade with Super