js/闭包

一个可以引用函数外局部变量的函数。局部变量的数据可以缓存起来,可以多次执行,能够将变量缓存起来,避免污染,

优点:可以缓存数据,封装,柯里化(f1()()),灵活

缺点:不易理解,占用内存

使用场景:需要维护一个函数的一些信息不变,可以一直存在被缓存

var  person = function(){

  var  name = “aaa’

  return  {

    getName:function(){

      return  name;

    },

    setName:function(newName){

      name  =  newName;

    }

  }

}()

console.log(person.name)  // undefined

person.setName(“xxxxx’)

console.log(person.getName()) // xxxxx

你可能感兴趣的:(js/闭包)