简单版本:创建一个全局变量,如下所示编码的答案 https://stackoverflow.com/a/8517576/41360。问题是——如果其他代码也定义了同名的全局变量,那么你们都有麻烦了。
简单的扩展版本 - 给变量起一个没人会使用的疯狂名称:calledTimesED7E69A7B141457CA8908A612E3D7A3A
聪明的版本:将该变量附加到现有的全局变量中。记住 -一切的JavaScript 中的一个对象!
$(function(){ setInterval(myFunction, 3000); });
function myFunction()
{
myFunction.calledTimes++;
alert( "I have been called " + myFunction.calledTimes + " times" );
}
myFunction.calledTimes = 0;
传统版本:使用作用域来隐藏该变量。
$(function()
{
var calledTimes = 0;
setInterval(function()
{
calledTimes++;
alert( "I have been called " + calledTimes + " times" );
}, 3000);
});
但这隐藏了“myFunction”,所以让我们用一种棘手的范围再试一次:
var myFunction = null;
(function()
{
var calledTimes = 0;
myFunction = function()
{
calledTimes++;
alert( "I have been called " + calledTimes + " times" );
}
})();
$(function () { setInterval(myFunction, 3000); });
...还有无数其他方法可以通过作用域隐藏该变量。只需选择您最喜欢的即可。