1.ES6常用功能与常见问题分析-(闭包)

关于闭包:
当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。闭包的作用,改变变量的作用域。
 
例1:
const foo = () =>{
const a =0;
return fun = () =>{
   a+=1;
  }
}
let f1=foo()
f1();
 
例2:

function outer() {

var a = 100; // outer的局部变量

function inner() { // 闭包
console.log(a);
}

return inner; // 没有这条语句,闭包起不到在outer外部访问变量a的作用~
}
console.log(a); // 在外部直接访问a出错

var test = outer(); // outer运行完返回inner,赋值给test
test(); // 100,执行test(),相当于执行inner(),这样就可以访问到outer内部的a了

 
posted @ 2019-04-13 14:20  web前端-张小七  阅读(290)  评论(0编辑  收藏  举报