闭包

闭包用处:

  1. 可以读取函数内部的变量;
  2. 让这些变量始终保持在内存中,即闭包可以使得它诞生环境一直存在;
  3. 封装对象的私有属性和私有方法。
function Person(name) {
  var _age;
  function setAge(n) {
    _age = n;
  }
  function getAge() {
    return _age;
  }

  return {
    name: name,
    getAge: getAge,
    setAge: setAge
  };
}

var p1 = Person('张三');
p1.setAge(25);
p1.getAge() // 25

闭包缺点:

外层函数每次运行,都会生成一个新的闭包,而这个闭包又会保留外层函数的内部变量,所以内存消耗很大。因此不能滥用闭包,否则会造成网页的性能问题。

posted @ 2020-08-05 09:44  LangZ-  阅读(136)  评论(0编辑  收藏  举报