在写JS脚本的时候写了类似如下的代码,总是产生莫名其妙的问题,定位不到。
function
ClassName()

...
{
var _Handle = null;
function IntervalFunction()

...{
alert("run IntervalFunction()");
window.clearInterval(_Handle);
_Handle = null;
}
_Handle = window.setInterval("IntervalFunction();", 1000);
}

var
obj
=
new
ClassName();
逐行注释代码,最后发现:window.setInterval()中加入的函数必须是全局函数,此处使用类的私有方法是不行的。修改代码成如下,解决问题:
function
ClassName()

...
{
var _Handle = null;
this.IntervalFunction = function()

...{
alert("run IntervalFunction()");
window.clearInterval(_Handle);
_Handle = null;
}
_Handle = window.setInterval("obj.IntervalFunction();", 1000);
}

var
obj
=
new
ClassName();















逐行注释代码,最后发现:window.setInterval()中加入的函数必须是全局函数,此处使用类的私有方法是不行的。修改代码成如下,解决问题:














