timeDown:function (time,interval,callback) {
var timeCount=setTimeout(function () {
(callback||new Function)();
if(time===0){
clearTimeout(timeCount);
}else{
time--;
console.log(time);
setTimeout(arguments.callee,interval);
}
},interval);
}
以上实现一个倒计时功能
我希望这样调用
A.timeDown(60,1000,function(){
//do something
$("#xx").text(time) //我希望能够获取 正在变化的time
})
首先我这么设计应该没啥问题吧?
我的问题是 ,我能否取出 timeDown里不停变化的time作为callback里的参数,应该怎么实现?
(不考虑使用一个全局变量来接收或者传递time)
若干年后我自问自答
timeDown:function (time,interval,callback) {
var timeCount=setTimeout(function () {
(callback||new Function)(time);
if(time===0){
clearTimeout(timeCount);
}else{
time--;
console.log(time);
setTimeout(arguments.callee,interval);
}
},interval);
}
A.timeDown(60,1000,function(e){
//do something
$("#xx").text(e) //我希望能够获取 正在变化的time
})
代码这样写:
arguments.callee
不推荐使用,就像eval一样