一、deferring翻譯
Deferring是一個英文單詞,翻譯為「推遲」、「延緩」、「延遲」、「耽擱」等。在計算機領域中,Deferring指的是將某個代碼塊的執行推遲到一個後面的時間點。
二、defer
在JavaScript中,defer是一個非常實用的屬性,可以將當前腳本推遲到文檔解析完畢後再執行,以避免阻塞頁面的渲染。defer的使用方式為:<script src="xxx.js" defer></script>
。
它的含義是該腳本會被異步下載,但是會在整個頁面解析完畢後才執行。而如果在頁面中同時存在多個defer腳本時,它們的執行順序是按照它們在頁面中出現的順序依次執行的。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>defer示例</title> <script src="script1.js" defer></script> <script src="script2.js" defer></script> </head> <body> <p>這是一個段落</p> </body> </html>
//script1.js console.log("script1.js"); //script2.js console.log("script2.js");
上面的示例中,script1.js和script2.js是兩個defer腳本,它們的執行順序是按照它們在頁面中出現的順序依次執行的。也就是說,先執行script1.js中的console.log()方法,再執行script2.js中的console.log()方法。
三、deferring的讀音
Deferring的讀音為 /dɪ’fɜrɪŋ/。
四、deferring payment
Deferring payment指的是推遲支付,也就是將支付時間推遲到未來的某個時間點。
在程序中,我們可能也會遇到需要進行deferring payment的情況,比如某些月費會員需要在未來的某個時間點才開始計費,那麼我們就需要使用一些定時任務或者第三方服務來完成這個功能。
//例子:使用定時任務實現延遲計費 const laterDate = new Date('2021-12-31'); setTimeout(() => { user.openVip(); }, laterDate - new Date());
五、interference
Interference指的是干涉、干預。在程序中,我們可能會遇到一些需要進行deferring的操作被其他操作所干涉、干擾,從而導致程序出現異常或者結果與預期不符。
比如在JavaScript中,如果我們將某個操作使用setTimeout()方法進行延遲執行,但是在延遲時間內又進行了其他操作,如鼠標滑動等,那麼可能會導致頁面渲染出現異常。
//例子:setTimeout()方法在頁面渲染時被其他操作所干擾 setTimeout(() => { const p = document.createElement("p"); p.textContent = "添加了一個段落"; document.body.appendChild(p); }, 2000); document.body.addEventListener("mousemove", () => { //干擾了setTimeout()方法的執行,導致定時任務不準確 });
六、modernization
Modernization指的是現代化、現代化改造。在程序開發中,我們經常會遇到需要對舊有功能進行功能升級、技術升級的情況。
而在進行modernization的過程中,deferring是一個非常重要的概念。通過將某些操作進行deferring,我們可以在不影響原有功能的情況下進行性能優化、技術升級等操作。
//例子:使用setTimeout()方法對代碼進行modernization //原有代碼 for (let i = 1; i <= 100; i++) { console.log(i); } //升級後的代碼 let i = 1; setTimeout(function go() { console.log(i++); if (i <= 100) { setTimeout(go, 0); } }, 0);
上面的例子中,我們原有的代碼使用了一個for循環遍歷輸出1到100的數字,而通過將代碼進行modernization,使用setTimeout()方法進行deferring,我們可以在不影響代碼邏輯的情況下達到性能優化的目的。
七、總結
Deferring是一個非常重要的概念,在程序開發中有着廣泛的應用。無論是在JavaScript中使用defer屬性、還是在進行延遲計費、或者是進行現代化改造,deferring都是必不可少的。但是在使用deferring的時候,我們需要注意其他操作的干涉,避免出現意外的情況。
原創文章,作者:XFQW,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/132344.html