实际开发中JS闭包的应用

ES5之前JS是没有局部变量的,所以程序员发明了闭包。

闭包作用:避免变量被环境污染

1.函数作为返回值

function F1(){
  var a = 100;
    return function(){
      console.log(a)    
    }
}
var f1 =F1();
var a = 200;
f1()//100

函数作为参数传递

function F1(){
   var a = 100;
    return function(){
      console.log(a)    
    }
}
var f1 =F1();
function F2(fn){
  var a = 200;
     fn();
}
F2(f1)

你可能感兴趣的:(前端学习)