闭包的应用场景
闭包中常见的两种特殊返回量
-
函数作为变量传递
-
函数作为返回值
判断[[一个数字是否出现过]]
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);