摘要:一起因最近在看阮一峰,驚為天人的發現里面的一個例子原來居然還有第三個參數,調用方法的時候可以作為傳參對象。二定義定時器啟動時,第三個及以后的參數是作為第一個參數也就是函數的參數傳進去的。
一、起因
最近在看阮一峰es6,驚為天人的發現promise里面的一個例子:原來 setTimeout居然還有第三個參數,調用方法的時候可以作為傳參對象。
function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, "done"); }); } timeout(100).then((value) => { console.log(value); });二、定義
定時器啟動時,第三個及以后的參數是作為第一個參數(也就是函數)的參數傳進去的。
三、語法糖我認為第三個及以后的參數可能是setTimeout的語法糖,其實按照第二種寫法也是可以的,可能第一種寫法會比較吊一點,畢竟很少人會知道setTimeout有第三個參數。
setTimeout(resolve, ms, "done"); setTimeout(resolve("done"), ms);
但是在Promise里面resolve只能傳一個參數,在其他方法可以傳多個參數
setTimeout(test,1000,1,2,3); function test(a ,b, c) { console.log(a, b, c) // 輸出1,2,3 }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103590.html
摘要:命名函數的賦值表達式另外一個特殊的情況是將命名函數賦值給一個變量。這是由于的命名處理所致,函數名在函數內總是可見的。當需要向回調函數傳遞參數時,可以創建一個匿名函數,在函數內執行真實的回調函數。 1.hasOwnProperty相關 為了判斷一個對象是否包含自定義屬性而不是原型鏈上的屬性,我們需要使用繼承自 Object.prototype 的 hasOwnProperty方法。has...
摘要:不過兩者各有各的應用場景。方法實際上,和的語法相同。這意味著如果函數的主體部分需要秒鐘執行完,那么整個函數則要每秒鐘才執行一次。不過還是有辦法可以終止和函數的執行。 var intervalProcess = setInterval(alert(GOAL!), 3000); 這個變量命名可以在實際代碼中采用 這兩個方法都可以用來實現在一個固定時間段之后去執行JavaScript。不過...
摘要:注意如果主邏輯的代碼執行時間已經超過了第二個參數設置的時間,那么等運行到該回調函數時,它會忽略掉這個時間,并立即執行。如果某一個進行大量的計算,那么它就會阻塞在當前的回調函數中,等待該計算完成后,再執行下一個的回調函數。 setTimeout() ? JavaScript是一個單線程的語言,也就是說它同一時間只能執行一段代碼,接下來我們通過兩個例子說明一下單線程語言和多線程語言的...
摘要:前言內存泄漏指由于疏忽或錯誤造成程序未能釋放已經不再使用的內存。這里就講一些常見會帶來內存泄露的原因。解決方案和都設為。 前言 內存泄漏指由于疏忽或錯誤造成程序未能釋放已經不再使用的內存。內存泄漏并非指內存在物理上的消失,而是應用程序分配某段內存后,由于設計錯誤,導致在釋放該段內存之前就失去了對該段內存的控制,從而造成了內存的浪費。這里就講一些常見會帶來內存泄露的原因。 0. 全局變量...
閱讀 2222·2023-04-26 01:57
閱讀 3240·2023-04-25 16:30
閱讀 2325·2021-11-17 09:38
閱讀 1068·2021-10-08 10:14
閱讀 1383·2021-09-23 11:21
閱讀 3678·2019-08-29 17:28
閱讀 3450·2019-08-29 15:27
閱讀 944·2019-08-29 13:04