国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

defer 和 async:JavaScript異步編程的利器

這篇具有很好參考價值的文章主要介紹了defer 和 async:JavaScript異步編程的利器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

defer 和 async:JavaScript異步編程的利器,javascript,開發(fā)語言,ecmascript

?? 前端開發(fā)工程師、技術(shù)日更博主、已過CET6
?? 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領(lǐng)域TOP1
?? ???/strong>高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》
?? 藍(lán)橋云課簽約作者、上架課程《Vue.js 和 Egg.js 開發(fā)企業(yè)級健康管理項(xiàng)目》、《帶你從入門到實(shí)戰(zhàn)全面掌握 uni-app》

摘要:

本文將介紹deferasync這兩個JavaScript異步編程的關(guān)鍵概念,幫助您了解如何利用它們實(shí)現(xiàn)更高效、靈活的異步操作。

引言:

?? 在現(xiàn)代Web開發(fā)中,異步編程是實(shí)現(xiàn)高效、響應(yīng)式用戶體驗(yàn)的關(guān)鍵。deferasyncJavaScript中的兩個重要關(guān)鍵字,用于控制腳本的異步執(zhí)行。接下來,讓我們一起來探索deferasync的奧秘。

正文:

1?? defer和async的概念

  • defer:defer關(guān)鍵字用于告訴瀏覽器,當(dāng)整個頁面在所有元素解析完成后執(zhí)行腳本。這通常用于在不影響頁面加載的情況下執(zhí)行腳本。
  • async:async關(guān)鍵字用于告訴瀏覽器,立即開始下載腳本,一旦下載完成,就立即執(zhí)行。這通常用于在不阻塞頁面加載的情況下執(zhí)行腳本。

以下是一些使用 deferasync 的代碼示例:

  1. 使用 defer
<!DOCTYPE html>
<html>
<head>
  <title>Defer Example</title>
  <script defer src="script1.js"></script>
  <script defer src="script2.js"></script>
</head>
<body>
  <h1>Defer Example</h1>
</body>
</html>

在這個示例中,script1.jsscript2.js 會在 DOM 加載完成后按照順序執(zhí)行。

  1. 使用 async
<!DOCTYPE html>
<html>
<head>
  <title>Async Example</title>
  <script async src="script1.js"></script>
  <script async src="script2.js"></script>
</head>
<body>
  <h1>Async Example</h1>
</body>
</html>

在這個示例中,script1.jsscript2.js 會在加載的同時執(zhí)行,可能會導(dǎo)致執(zhí)行順序與順序不一致。

注意:這些示例僅用于演示 deferasync 的基本用法。在實(shí)際項(xiàng)目中,你可能需要根據(jù)具體需求和場景選擇使用哪種方式。

2?? defer和async的使用場景

  • 在需要在不影響頁面加載的情況下執(zhí)行腳本時,可以使用defer關(guān)鍵字。
  • 在需要在不阻塞頁面加載的情況下執(zhí)行腳本時,可以使用async關(guān)鍵字。

3?? defer和async的工作原理

  • defer:當(dāng)使用defer關(guān)鍵字時,瀏覽器會在整個頁面加載完成后執(zhí)行腳本。這意味著腳本將在頁面加載完成后執(zhí)行,但不會影響頁面的加載。
  • async:當(dāng)使用async關(guān)鍵字時,瀏覽器會立即開始下載腳本。一旦下載完成,就會立即執(zhí)行腳本。這意味著腳本將異步執(zhí)行,不會阻塞頁面加載。

4?? defer和async的優(yōu)缺點(diǎn)

  • 優(yōu)點(diǎn):defer和async都可以實(shí)現(xiàn)異步執(zhí)行,提高頁面加載速度和響應(yīng)性。
  • 缺點(diǎn):async可能會導(dǎo)致腳本執(zhí)行不按預(yù)期順序進(jìn)行,需要特別注意。

deferasync 都是 HTML 中的屬性,用于控制腳本的加載和執(zhí)行。它們有以下區(qū)別:

  1. 加載和執(zhí)行順序:defer 會將腳本的加載延遲到 DOM 加載完成后,然后按照順序執(zhí)行;async 則是在加載的同時執(zhí)行,可能會導(dǎo)致腳本執(zhí)行順序與順序不一致。

  2. 適用場景:defer 適用于需要按照順序執(zhí)行的腳本,例如一些依賴于 DOM 的腳本;async 適用于不依賴于 DOM 的腳本,例如一些需要異步執(zhí)行的腳本。

  3. 兼容性:defer 在 IE 4.x 到 IE 9.x 中都支持,但在其他瀏覽器中可能不受支持;async 在所有現(xiàn)代瀏覽器中都被支持。

  4. 性能:async 在加載和執(zhí)行腳本時可能會比 defer 更快,因?yàn)樗恍枰却?DOM 加載完成。但是,如果腳本依賴于 DOM,那么 defer 可能會比 async 更快。

總結(jié):deferasync 各有優(yōu)缺點(diǎn),具體使用哪種方式取決于具體的應(yīng)用場景和需求。在現(xiàn)代瀏覽器中,推薦使用 async,因?yàn)樗哂懈玫募嫒菪院托阅堋?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-842934.html

總結(jié):

?? defer和async是JavaScript異步編程的關(guān)鍵概念,它們可以幫助我們實(shí)現(xiàn)更高效、靈活的異步操作。通過了解defer和async的概念、使用場景和工作原理,我們可以更好地利用它們提高頁面加載速度和響應(yīng)性。文章來源地址http://www.zghlxwxcb.cn/news/detail-842934.html

參考資料:

  • defer和async基礎(chǔ)教程
  • defer和async在現(xiàn)代Web開發(fā)中的應(yīng)用
  • defer和async的最佳實(shí)踐

到了這里,關(guān)于defer 和 async:JavaScript異步編程的利器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JavaScript 異步編程解決方案-中篇

    JavaScript 異步編程解決方案-中篇

    1.Promise 構(gòu)造函數(shù):new Promise(executor) Promise() 只能通過 new 運(yùn)算符來構(gòu)造。如果嘗試在沒有使用 new 的情況下調(diào)用它,會拋出 TypeError 異常。 1.executor 執(zhí)行器函數(shù):(resolve,reject)={} 2.resolve 函數(shù):內(nèi)部定義成功時候調(diào)用values={} 3.reject 函數(shù):內(nèi)部定義失敗時候調(diào)用error={} 備注:e

    2024年01月23日
    瀏覽(23)
  • [javascript核心-04]徹底弄懂Promise異步編程

    本文github地址:JavaScript_Interview_Everything 大前端知識體系與面試寶典,從前端到后端,全棧工程師,成為六邊形戰(zhàn)士 1.1. 快速上手 01快手上手.js 02.若傳入的是另一個promise對象,則狀態(tài)由傳入的promise對象決定 03.若傳入了一個實(shí)現(xiàn)了 then 方法的對象,則執(zhí)行該then方法且由此方法

    2024年02月08日
    瀏覽(22)
  • Web APIs JavaScript執(zhí)行機(jī)制與異步編程模型

    Web APIs JavaScript執(zhí)行機(jī)制與異步編程模型

    探索JavaScript的執(zhí)行機(jī)制,包括同步與異步任務(wù)的處理方式,以及常見的事件循環(huán)機(jī)制,助您更深入理解JavaScript編程模型。

    2024年02月21日
    瀏覽(24)
  • JavaScript編程技巧:將異步方法轉(zhuǎn)換為同步執(zhí)行的實(shí)用方法

    當(dāng)在JavaScript中處理異步操作時,我們通常會使用 async/await 來簡化異步代碼的編寫和理解。然而,有時候我們可能需要將異步方法轉(zhuǎn)換為同步執(zhí)行的方法,以滿足特定的需求。在本篇博客中,我們將詳細(xì)討論如何將異步方法轉(zhuǎn)換為同步執(zhí)行的方法。 異步方法的主要特點(diǎn)是非阻

    2024年02月08日
    瀏覽(40)
  • promise及異步編程async await

    promise及異步編程async await

    ECMAScript 6 新增了正式的 Promise(期約)引用類型,支持優(yōu)雅地定義和組織異步邏輯。接下來幾個版本增加了使用 async 和 await 定義異步函數(shù)的機(jī)制 JavaScript 是單線程事件循環(huán)模型。異步行為是為了優(yōu)化因計算量大而時間長的操作,只要你不想為等待某個異步操作而阻塞

    2024年02月04日
    瀏覽(24)
  • JavaScript:深入探索async/await的使用

    在JavaScript的異步編程領(lǐng)域,ES8引入的 async/await 語法是一項(xiàng)重要的創(chuàng)新。它讓異步代碼看起來更像同步代碼,使得處理異步操作變得更加清晰和簡潔。本文將深入探索 async/await 的使用,幫助你充分發(fā)揮這項(xiàng)技術(shù)的優(yōu)勢。 1. 什么是 async/await ? ? async/await 是一種基于Promise的異步

    2024年02月13日
    瀏覽(24)
  • 前端面試:【異步編程】Callback、Promise和Async/Await

    嗨,親愛的JavaScript探險家!在JavaScript開發(fā)的旅程中,你會經(jīng)常遇到異步編程的需求。為了處理異步操作,JavaScript提供了多種機(jī)制,包括Callbacks、Promises和Async/Await。本文將深入介紹這些機(jī)制,讓你能夠更好地處理異步任務(wù)。 1. Callbacks:傳統(tǒng)的異步方式 Callbacks是JavaScript中最早

    2024年02月11日
    瀏覽(99)
  • 異步編程的概念 以及async和await的工作原理

    一、引言 二、異步編程的基本概念 三、基于任務(wù)的異步模式(TAP) 四、async和await async的工作原理: await的工作原理: 五、異步方法的編寫和調(diào)用 六、異常處理 七、取消異步操作 八、性能考慮 九、案例:異步下載文件 十、結(jié)論 在.NET中,異步編程是一

    2024年04月16日
    瀏覽(44)
  • 前端異步編程全套:xmlhttprequest > ajax > promise > async/await

    同步與異步區(qū)別 同步:按順序,依次執(zhí)行,向服務(wù)器發(fā)送請求--客戶端做其他操作 異步:分別執(zhí)行,向服務(wù)器發(fā)送請求==同時執(zhí)行其他操作 原生xmlhttprequest 四步驟 創(chuàng)建ajax對象 設(shè)定數(shù)據(jù)的傳輸方式(get、post),打開連接open() 獲得響應(yīng)數(shù)據(jù) 屬性 描述 onreadystatechange 當(dāng)readysta

    2024年02月01日
    瀏覽(105)
  • 重學(xué)JavaScript高級(十二):async/await-事件循環(huán)-面試高頻

    重學(xué)JavaScript高級(十二):async/await-事件循環(huán)-面試高頻

    前面我們學(xué)習(xí)了生成器和迭代器,那么在本篇文章中,我們主要講解生成器與Promise的結(jié)合使用,從而引出async/await語法,同時會涉及面試中頻次最高的一個知識點(diǎn): 事件循環(huán) 首先需要了解回調(diào)地獄 在Promise出來之前,我們多次請求網(wǎng)絡(luò)接口,有可能產(chǎn)生回調(diào)地獄 而Promise的出

    2024年02月02日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包