為了說明問題,代碼很短
var test = function(){
console.log('a')
}
timer1 = setInterval(test(), 1000)
timer2 = setInterval(console.log('b'), 1000)
</script>
上面的兩個定時器中都隻執行了一次,并沒有重複執行。
解決方案一:
函數名不要叫括号
var test = function(){
console.log('a')
}
timer1 = setInterval(test, 1000)
解決方案二:
在執行的函數用引号括起來(裡面使用單引号,則外面用雙引号)
var test = function(){
console.log('a')
}
timer1 = setInterval("test()", 1000)
timer2 = setInterval("console.log('b')", 1000)
var test = function(num){
console.log(num)
}
num = 10
timer1 = setInterval("test(num)", 1000)
timer2 = setInterval(function(){num++}, 2000)
var test = function(num){
console.log(num)
}
num = 10
timer1 = setInterval(function(){test(num)}, 1000)
timer2 = setInterval(function(){num++}, 2000)