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

时间:2014-10-25 21:54:34

标签: javascript jquery

我正在开发一个非常独特的项目,并且有一个调用我的函数的变量,它可以在它进行1次函数调用之后将它放在哪里,它会停止工作并变得无用。

1 个答案:

答案 0 :(得分: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循环只显示它有效。您还可以使用限制器创建多个函数,而不会使计数器重叠,因为它们各自都有自己独特的范围。

小提琴:http://jsfiddle.net/Kajdav/acLxxywt/