题主是说代码里面用setTimeout调用自己吧?这样的效果跟setInterval是一样的,定时跑一段代码,跟递归不是一样的概念,每次执行完浏览器就空闲了,等待下一次执行,递归的话是在单次运行的时候无限调用,死循环出不来了,这样浏览器就会卡住,最后提示too much recursion,
楼下说的也不对,不一定要终止的,比如你可以给页面加个时间显示,一秒钟更新一次,可以不用判断停止,页面会无限执行,直到你关闭浏览器。
肯定会加判断的,举个例子你就明白
var result = 0;
setTimeout(add, 100);
//result 不断自增到10
function add() {
if (result < 10) {
result++;
console.log(result); //result = 10时 if中的代码就不执行了,循环自然终止
setTimeout(add, 100);
}
}
标签:js,setTimeout,调用