我有一个被称为未知次数的函数。我需要知道函数运行了多少次,所以我正在做:
(function () {
var i = 0,
increment = function () {
if (i === 0) {
setTimeout(function () {
console.log('increment was called ' + i + ' times.'); // increment was called 3 times.
i = 0;
}, 0);
}
i++;
};
increment();
increment();
increment();
})();
有人能告诉我这是否在所有浏览器中都是可靠的,或者是否有更好的模式来实现这一目标?
答案 0 :(得分:1)
setTimeout()
在队列上放置一个函数,该函数在所有其他函数运行时执行。
如果在致电setTimeout()
之前致电increment()
几次,您可能会注意到i
变量的值大于1。
答案 1 :(得分:0)
是的,即使在最低版本的IE中,此代码段似乎在所有浏览器中都是可靠的。我在IE8中尝试过这种方法,但效果很好。