国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

setTimeout和setInterval被遺忘的第3個參數(shù)

Vultr / 403人閱讀

摘要:一起因最近在看阮一峰,驚為天人的發(fā)現(xiàn)里面的一個例子原來居然還有第三個參數(shù),調(diào)用方法的時候可以作為傳參對象。二定義定時器啟動時,第三個及以后的參數(shù)是作為第一個參數(shù)也就是函數(shù)的參數(shù)傳進(jìn)去的。

一、起因

最近在看阮一峰es6,驚為天人的發(fā)現(xiàn)promise里面的一個例子:原來 setTimeout居然還有第三個參數(shù),調(diào)用方法的時候可以作為傳參對象。

    function timeout(ms) {
      return new Promise((resolve, reject) => {
        setTimeout(resolve, ms, "done");
      });
    }
    
    timeout(100).then((value) => {
      console.log(value);
    });

二、定義

定時器啟動時,第三個及以后的參數(shù)是作為第一個參數(shù)(也就是函數(shù))的參數(shù)傳進(jìn)去的。

三、語法糖

我認(rèn)為第三個及以后的參數(shù)可能是setTimeout的語法糖,其實(shí)按照第二種寫法也是可以的,可能第一種寫法會比較吊一點(diǎn),畢竟很少人會知道setTimeout有第三個參數(shù)。

    setTimeout(resolve, ms, "done");
    setTimeout(resolve("done"), ms);

但是在Promise里面resolve只能傳一個參數(shù),在其他方法可以傳多個參數(shù)

    setTimeout(test,1000,1,2,3);

    function test(a ,b, c) {
        console.log(a, b, c) // 輸出1,2,3
    }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/103590.html

相關(guān)文章

  • 〔總結(jié)〕容易遺忘的JS知識點(diǎn)整理

    摘要:命名函數(shù)的賦值表達(dá)式另外一個特殊的情況是將命名函數(shù)賦值給一個變量。這是由于的命名處理所致,函數(shù)名在函數(shù)內(nèi)總是可見的。當(dāng)需要向回調(diào)函數(shù)傳遞參數(shù)時,可以創(chuàng)建一個匿名函數(shù),在函數(shù)內(nèi)執(zhí)行真實(shí)的回調(diào)函數(shù)。 1.hasOwnProperty相關(guān) 為了判斷一個對象是否包含自定義屬性而不是原型鏈上的屬性,我們需要使用繼承自 Object.prototype 的 hasOwnProperty方法。has...

    explorer_ddf 評論0 收藏0
  • setTimeoutsetInterval的使用

    摘要:不過兩者各有各的應(yīng)用場景。方法實(shí)際上,和的語法相同。這意味著如果函數(shù)的主體部分需要秒鐘執(zhí)行完,那么整個函數(shù)則要每秒鐘才執(zhí)行一次。不過還是有辦法可以終止和函數(shù)的執(zhí)行。 var intervalProcess = setInterval(alert(GOAL!), 3000); 這個變量命名可以在實(shí)際代碼中采用 這兩個方法都可以用來實(shí)現(xiàn)在一個固定時間段之后去執(zhí)行JavaScript。不過...

    noONE 評論0 收藏0
  • process.nextTick() 、setTimeout()、setInterval() 運(yùn)行機(jī)

    摘要:注意如果主邏輯的代碼執(zhí)行時間已經(jīng)超過了第二個參數(shù)設(shè)置的時間,那么等運(yùn)行到該回調(diào)函數(shù)時,它會忽略掉這個時間,并立即執(zhí)行。如果某一個進(jìn)行大量的計算,那么它就會阻塞在當(dāng)前的回調(diào)函數(shù)中,等待該計算完成后,再執(zhí)行下一個的回調(diào)函數(shù)。 setTimeout() ? JavaScript是一個單線程的語言,也就是說它同一時間只能執(zhí)行一段代碼,接下來我們通過兩個例子說明一下單線程語言和多線程語言的...

    lscho 評論0 收藏0
  • 【拒絕拖延】常見的JavaScript內(nèi)存泄露原因及解決方案

    摘要:前言內(nèi)存泄漏指由于疏忽或錯誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存。這里就講一些常見會帶來內(nèi)存泄露的原因。解決方案和都設(shè)為。 前言 內(nèi)存泄漏指由于疏忽或錯誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存。內(nèi)存泄漏并非指內(nèi)存在物理上的消失,而是應(yīng)用程序分配某段內(nèi)存后,由于設(shè)計錯誤,導(dǎo)致在釋放該段內(nèi)存之前就失去了對該段內(nèi)存的控制,從而造成了內(nèi)存的浪費(fèi)。這里就講一些常見會帶來內(nèi)存泄露的原因。 0. 全局變量...

    tangr206 評論0 收藏0
  • 定時器

    摘要:提供定時執(zhí)行代碼的功能,叫做定時器,主要由和這兩個函數(shù)來完成。它返回一個整數(shù),表示定時器的編號,以后可以用來取消這個定時器。上面代碼中,回調(diào)函數(shù)不會再執(zhí)行了,因為兩個定時器都被取消了。 JavaScript 提供定時執(zhí)行代碼的功能,叫做定時器(timer),主要由setTimeout()和setInterval()這兩個函數(shù)來完成。它們向任務(wù)隊列添加定時任務(wù)。 setTimeout()...

    Nino 評論0 收藏0

發(fā)表評論

0條評論

Vultr

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<