第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么要用setTimeout

為什么要用setTimeout,這樣寫也可以arguments.callee(List,callback),是保存變量嗎

正在回答

5 回答

是用來(lái)保護(hù)callback被回收,當(dāng)函數(shù)執(zhí)行完了變量就會(huì)被回收,用了setTimeout等25ms后才會(huì)被回收

1 回復(fù) 有任何疑惑可以回復(fù)我~

不是。setTimeout只是延時(shí),沒(méi)有其它任何功能。而里面的callback函數(shù)是通過(guò)閉包來(lái)傳值的。

0 回復(fù) 有任何疑惑可以回復(fù)我~

function Aaron(List, callback) {

? (function() {

? ? var task;

? ? task = List.shift();

? ? ? task(); //執(zhí)行函數(shù)

? ??

? ? if (List.length > 0) { //遞歸分解

? ? ? arguments.callee(List);

? ? } else {

? ? ? callback()

? ? }

? }())

}

我測(cè)試了,不加setTimeout也可以執(zhí)行,不過(guò)最后顯示的執(zhí)行順序如下:

a

b

c

callback

callbacksA

callbacksB

所以我猜測(cè)這個(gè)setTimeout只是為了演示而加的,并不是一定要加

0 回復(fù) 有任何疑惑可以回復(fù)我~

我嘗試了 ,不加setTimeout,程序會(huì)曝出 callback 沒(méi)有定義。想想也是,callee 的時(shí)候,只傳遞了,一個(gè)參數(shù)。

那為什么,callback 在?setTimeout 就可以保留了。因?yàn)橛醒舆t,所有,第一次調(diào)用的局部變量,還是存在的。

所以可以調(diào)用?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

yuqingzhijie3596863

怎么可能,你直接(func())()就可以了
2017-12-04 回復(fù) 有任何疑惑可以回復(fù)我~

我只知道setTimeout()是一個(gè)只執(zhí)行一次的延遲函數(shù),而setInterval()是一個(gè)可以執(zhí)行多次的延遲函數(shù)。

同學(xué),你給取的信息有限,我有些不知道你說(shuō)的是什么問(wèn)題。

還有,我不知道callee()函數(shù)是干嘛的

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么要用setTimeout

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)