写一个函数,可以生成只能调用一次的函数——一个简单的闭包应用。
logOnce = once(console.log);
logOnce("foo"); // -> "foo"
logOnce("bar"); // -> no effect
实现:
function once(fn) {
var flag = true;
return function () {
if (flag) {
flag = false;
return fn.apply(this, arguments);
}
return;
};
}