在写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()中加入的函数必须是全局函数,此处使用类的私有方法是不行的。修改代码成如下,解决问题:












