一次使用后销毁JS函数调用

Have a JS function call destroyed after one time use

本文关键字:JS 函数调用 一次      更新时间:2023-09-26

我正在做一个非常独特的项目,有一个变量可以调用我的函数,有没有可能在它调用1个函数后停止工作并变得无用。

var limiter = function (limit,  cb) {
  var counter = limit;
  return function () {
      if (counter > 0) {
          cb(counter);
          counter--;
      }
  };
};
var counting = limiter(3, function (data) {
  console.log('This function can be used ' + data + ' more times.');
});
for (var i = 0; i < 5; i++) {
  counting();
};

调用第一个参数为1、第二个参数为函数定义的限制器将允许您只运行一次函数。在这个例子中,我创建了一个函数"counting",它将记录它还有多少次调用,直到它无用为止(尽管for循环调用了它五次,但它只运行了三次)。底部的for循环正好表明它是有效的。您还可以使用限制器创建多个函数,而计数器不会重叠,因为它们每个都有自己的唯一作用域。

Fiddle:http://jsfiddle.net/Kajdav/acLxxywt/