以下代碼會造成死循環,
function test(){ setTimeout(test,1000) } test();
或者
var test = function(){ setTimeout(test(),1000); } test();
原因是setTimeout的第一個參數最好不要直接使用方法名或匿名函數。
使用以下代碼可以避免發生死循環問題:
var test = function(){ setTimeout(function(){
test();
},1000); } test();