闭包的应用场景

闭包中常见的两种特殊返回量

  • 函数作为变量传递

  • 函数作为返回值

判断[[一个数字是否出现过]]

function isFirst() {
  let _list = [];
  return function(id) {
    if(_list.indexOf(id) >= 0) {
      return false;
    } else {
      _list.push(id);
      return true;
    }
  };
}

let first = isFirst();
first(10);
first(10);
first(20);
原文地址:https://www.cnblogs.com/hencins/p/15205784.html