定时执行(每隔1s执行一次):
setInterval(function() {
//TODO定时执行的方法
}, 1000)
延时执行(延迟1s执行):
setTimeOut(function() {
//TODO延迟执行的方法
}, 1000)
使用定时执行,切忌不要递归!反面教材:
codeTime: function(time) {
var that = this
console.log("执行-->"+time)
setInterval(function() {//定时执行
time--;
if (time > 0)
that.codeTime(time)
}, 1000)
}
执行codeTime(60):log如下:
定时执行递归会以指数级递归执行方法!所以如果是使用到延迟执行递归函数的话还是使用延时执行
codeTime: function(time) {
var that = this
console.log("执行-->"+time)
setTimeout(function() {//使用延时执行
time--;
if (time > 0)
that.codeTime(time)
}, 1000)
}