課程
/前端開發
/JavaScript
/JavaScript進階篇
計時器setTimeout()不是僅執行一次嗎?它是怎樣實現循環計數的?
2015-07-26
源自:JavaScript進階篇 8-5
正在回答
其實你可以百度一下遞歸的,不建議把順序里太清,不然頭會暈 。首先方法?startCount()是在?setTimeout("startCount()",1000);被調用的,這個可以理解吧 。function?startCount(){}只是申明函數,就和豬腳放大招要叫名字一樣初始化,然后才可以調用。現在開始執行startCount(),挨著順序來,增加1 賦值,然后?setTimeout("startCount()",1000);。。。注意了這一句表示 在startCount()中進程走到這里 延時1s,然后調用?startCount(),然后執行startCount()函數,又按順序來,增加1 賦值,然后?setTimeout("startCount()",1000);。。。。這就是一個死循環了
qq_鬼鬼魚_0 提問者
首先?startCount()中的setTimeout("startCount()",1000); 這個的意思是延時回調,1s后執行?startCount(),之后setTimeout("startCount()",1000);就是只調用了。
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
3 回答計時器setTimeout()
1 回答計時器setTimeout()
2 回答計時器setTimeout()
1 回答setTimeout()計時器
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-07
其實你可以百度一下遞歸的,不建議把順序里太清,不然頭會暈 。首先方法?startCount()是在?setTimeout("startCount()",1000);被調用的,這個可以理解吧 。function?startCount(){}只是申明函數,就和豬腳放大招要叫名字一樣初始化,然后才可以調用。現在開始執行startCount(),挨著順序來,增加1 賦值,然后?setTimeout("startCount()",1000);。。。注意了這一句表示 在startCount()中進程走到這里 延時1s,然后調用?startCount(),然后執行startCount()函數,又按順序來,增加1 賦值,然后?setTimeout("startCount()",1000);。。。。這就是一個死循環了
2015-08-07
首先?startCount()中的setTimeout("startCount()",1000); 這個的意思是延時回調,1s后執行?startCount(),之后setTimeout("startCount()",1000);就是只調用了。