什么是闭包?闭包的作用是什么?

什么是闭包?

var local = 10;
funtion foo(){
  console.log(local)  
}

其实上面的代码,就表示一个闭包。也就是:函数,以及函数内部能访问到的变量的集合

但通常情况下使用闭包时,是使用函数嵌套函数实现的,如下

funtion foo(){
  var local = 10;  
  funtion bar() {
    local++;
    return local;
  } 
    return bar;
}

var func = foo();
func();

函数bar,以及其内部能访问到的所有变量的集合构成了一个闭包。之所以使用函数嵌套函数的方式,是为了达到闭包的目的--隐藏变量

闭包的作用

用来间接访问一个变量,或者说是隐藏变量

如果将一个变量声明为全局变量,那么所有人都可以访问到,所有人都可以改动数据,不安全

但如果使用局部变量声明,那么外部没有人可访问到

所以使用闭包,将更改数据的方法返回,以达到安全性和更改数据的兼得

posted @ 2020-04-16 15:12  ashen1999  阅读(681)  评论(0编辑  收藏  举报