以下代码会造成死循环,
function test(){ setTimeout(test,1000) } test();
或者
var test = function(){ setTimeout(test(),1000); } test();原因是setTimeout的第一个参数最好不要直接使用方法名或匿名函数。
使用以下代码可以避免发生死循环问题:
var test = function(){ setTimeout(function(){
test();
},1000); } test();