課程
/前端開(kāi)發(fā)
/JavaScript
/JavaScript進(jìn)階篇
為啥要有兩個(gè)setTimeout()?
2017-02-23
源自:JavaScript進(jìn)階篇 8-5
正在回答
我是這么理解兩個(gè)setTimeout()的,最外層的那個(gè)是用來(lái)調(diào)用內(nèi)層的setTimeout,相當(dāng)于我們?cè)谠黾右粋€(gè)button來(lái)啟動(dòng)這個(gè)定時(shí)器。因?yàn)樵?lt;script>中僅僅是定義了函數(shù),并沒(méi)有調(diào)用它,而函數(shù)體外的setTimeout語(yǔ)句則是調(diào)用了內(nèi)部的函數(shù),計(jì)時(shí)開(kāi)始,我們可以將外部的setTimeout函數(shù)的延遲時(shí)間加長(zhǎng),來(lái)驗(yàn)證我這一觀點(diǎn)。如有錯(cuò)誤,還請(qǐng)斧正
sUcK_lOlIpOp
不錯(cuò),說(shuō)的很好。
我吃過(guò)虧,讓我自己回答自己的問(wèn)題吧 . 讓自己印象深刻點(diǎn)....? 先貼上代碼
圖一:
圖二:
前后兩個(gè)代碼都可以實(shí)現(xiàn)記數(shù)功能,圖一是放在head標(biāo)簽里, 圖二我是放在 底部的body標(biāo)簽.?
其實(shí)理解起來(lái)很簡(jiǎn)單,因?yàn)闉g覽器執(zhí)行代碼是從上到下渲染的.? 先說(shuō)圖二吧;放在body標(biāo)簽底部,代碼執(zhí)行到這時(shí)找到了id為count 每隔一秒執(zhí)行startCount()函數(shù) 并且value值可以遞增;
圖一其實(shí)由于瀏覽器的渲染機(jī)制 找不到id為count的元素 此時(shí)如果直接執(zhí)行startCount()函數(shù),最初是執(zhí)行不了的.
這個(gè)是函數(shù)的自己調(diào)用自己。
下面setTimeout(“startCount()”1000)。你可以理解成1000微秒執(zhí)行函數(shù),執(zhí)行一下發(fā)現(xiàn)還有一個(gè)函數(shù)可以執(zhí)行 接著再次執(zhí)行函數(shù).(相當(dāng)于一個(gè)人一次一秒扔1塊錢,你一秒撿一塊錢,撿了還有撿,一直撿下去.ps:假如我們都是愛(ài)錢的人)
第一個(gè)set函數(shù)相當(dāng)于扔錢的,但是扔了沒(méi)人計(jì)數(shù),需要有人撿才會(huì)計(jì)數(shù).那么第二函數(shù)你可以理解為 撿錢的人的動(dòng)作.
個(gè)人理解。我覺(jué)得圖一代碼不嚴(yán)謹(jǐn),
舉報(bào)
本課程從如何插入JS代碼開(kāi)始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界
4 回答為什么要寫兩個(gè)setTimeout?
2 回答為什么要加兩個(gè)setTimeout
1 回答為什么要用兩個(gè)setTimeout("startCount()",1000)
3 回答為什么要設(shè)置兩次setTimeout
1 回答任務(wù)里面為什么要設(shè)置兩個(gè)setTimeout()
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-08-03
我是這么理解兩個(gè)setTimeout()的,最外層的那個(gè)是用來(lái)調(diào)用內(nèi)層的setTimeout,相當(dāng)于我們?cè)谠黾右粋€(gè)button來(lái)啟動(dòng)這個(gè)定時(shí)器。因?yàn)樵?lt;script>中僅僅是定義了函數(shù),并沒(méi)有調(diào)用它,而函數(shù)體外的setTimeout語(yǔ)句則是調(diào)用了內(nèi)部的函數(shù),計(jì)時(shí)開(kāi)始,我們可以將外部的setTimeout函數(shù)的延遲時(shí)間加長(zhǎng),來(lái)驗(yàn)證我這一觀點(diǎn)。如有錯(cuò)誤,還請(qǐng)斧正
2017-05-27
不錯(cuò),說(shuō)的很好。
2017-02-23
我吃過(guò)虧,讓我自己回答自己的問(wèn)題吧 . 讓自己印象深刻點(diǎn)....? 先貼上代碼
圖一:
圖二:
前后兩個(gè)代碼都可以實(shí)現(xiàn)記數(shù)功能,圖一是放在head標(biāo)簽里, 圖二我是放在 底部的body標(biāo)簽.?
其實(shí)理解起來(lái)很簡(jiǎn)單,因?yàn)闉g覽器執(zhí)行代碼是從上到下渲染的.? 先說(shuō)圖二吧;放在body標(biāo)簽底部,代碼執(zhí)行到這時(shí)找到了id為count 每隔一秒執(zhí)行startCount()函數(shù) 并且value值可以遞增;
圖一其實(shí)由于瀏覽器的渲染機(jī)制 找不到id為count的元素 此時(shí)如果直接執(zhí)行startCount()函數(shù),最初是執(zhí)行不了的.
這個(gè)是函數(shù)的自己調(diào)用自己。
下面setTimeout(“startCount()”1000)。你可以理解成1000微秒執(zhí)行函數(shù),執(zhí)行一下發(fā)現(xiàn)還有一個(gè)函數(shù)可以執(zhí)行 接著再次執(zhí)行函數(shù).(相當(dāng)于一個(gè)人一次一秒扔1塊錢,你一秒撿一塊錢,撿了還有撿,一直撿下去.ps:假如我們都是愛(ài)錢的人)
第一個(gè)set函數(shù)相當(dāng)于扔錢的,但是扔了沒(méi)人計(jì)數(shù),需要有人撿才會(huì)計(jì)數(shù).那么第二函數(shù)你可以理解為 撿錢的人的動(dòng)作.
個(gè)人理解。我覺(jué)得圖一代碼不嚴(yán)謹(jǐn),