实现 once 函数

写一个函数,可以生成只能调用一次的函数——一个简单的闭包应用。

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;
  };
}