最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript延遲加載之a(chǎn)sync與defer的應(yīng)用

 更新時間:2022年09月02日 08:59:14   作者:快樂的蜜蜂  
這篇文章主要介紹了JavaScript延遲加載之a(chǎn)sync與defer的應(yīng)用場景與使用區(qū)別的介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

async 跟 defer的應(yīng)用場景:

一些特殊的場景, 比如說你的dom要更新完 才能去執(zhí)行js里面的東西, 但是js是單線程了的,讀取js是需要時間的, 但是你又想js文件中獲取到 dom的節(jié)點信息, 這個時候 你就可以用 async 或者defer了, 來處理你的這個情況

一般我們?yōu)榱斯?jié)約瀏覽器的渲染時間, 都是把script腳本放到 </ body> 后面,防止js讀取跟執(zhí)行占用我們html的渲染時間, 下面只是為了舉例子

請看例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="./index.js"></script>
<body>
    <div id="box"></div>
</body>
</html>

index.js

const box = document.getElementById("box");
console.log(box);

因為js是從上到下執(zhí)行了, 所以我們這里打印出的值是 null,他獲取不到div的節(jié)點信息

我們通過 async 跟 defer 就可以獲取到下面的 dom信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
// 或者這里寫 defer
<script async src="./index.js"></script>
<body>
    <div id="box"></div>
</body>
</html>

這里就拿到了 節(jié)點信息

defer跟 async的區(qū)別

defer: 等在html解析完成才會,依次從上到下執(zhí)行js腳本代碼

async: async跟html是同步解析的執(zhí)行順序是誰先完成js腳本,就誰先執(zhí)行

async

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
// 這里的執(zhí)行順序 是誰先完成就誰先執(zhí)行
<script async src="./index1.js"></script>
<script async src="./index2.js"></script>
<script async src="./index3.js"></script>
<body>
    <div id="box"></div>
</body>
</html>

defer

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
// defer 是從上到下依次執(zhí)行的
<script defer src="./index1.js"></script>
<script defer src="./index2.js"></script>
<script defer src="./index3.js"></script>
<body>
    <div id="box"></div>
</body>
</html>

到此這篇關(guān)于JavaScript延遲加載之a(chǎn)syc與defer的應(yīng)用的文章就介紹到這了,更多相關(guān)JSt延遲加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Eval and new funciton not the same thing

    Eval and new funciton not the 

    以前有人會說,new Function的方式是幾乎與eval相等,今天我查了一下,確實是不同的東西,說這句話的人太不負責了。關(guān)于eval和new function,得到的結(jié)果都是一致的,都會叫你不要去使用它們。所以結(jié)論就是“不得不”才使用
    2012-12-12
  • JavaScript中好用的數(shù)組對象排序方法分享

    JavaScript中好用的數(shù)組對象排序方法分享

    在日常工作中,我們經(jīng)常需要對數(shù)組對象進行排序,尤其是在處理數(shù)據(jù)可視化需求中。本文將介紹一些簡單而又實用的方法,幫助你實現(xiàn)對數(shù)組對象的某幾個 key 進行排序
    2023-05-05
  • js處理php輸出時間戳對不上號的解決方法

    js處理php輸出時間戳對不上號的解決方法

    JS時間戳為13位,包含3位毫秒的,而PHP只有10位不包含毫秒的,這就是為什么對不上號原因,處理方法如下
    2014-06-06
  • JavaScript簡寫技巧總結(jié)

    JavaScript簡寫技巧總結(jié)

    這篇文章總結(jié)了JavaScript的一些簡寫技巧,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 點擊A元素觸發(fā)B元素的事件在IE8下會識別成A元素

    點擊A元素觸發(fā)B元素的事件在IE8下會識別成A元素

    IE8自動觸發(fā)的事件源會識別成手動點擊的元素就是點擊A元素觸發(fā)B元素的事件在IE8下會識別成A元素,需要的朋友可以參考下
    2014-09-09
  • uniapp引用echarts的詳細步驟(附柱狀圖實例)

    uniapp引用echarts的詳細步驟(附柱狀圖實例)

    最近在uni-app搭建的微信小程序項目中使用了ECharts,下面這篇文章主要給大家介紹了關(guān)于uniapp引用echarts的詳細步驟,文中還附有柱狀圖實例,需要的朋友可以參考下
    2022-07-07
  • 詳解微信小程序?qū)崿F(xiàn)跑馬燈效果(附完整代碼)

    詳解微信小程序?qū)崿F(xiàn)跑馬燈效果(附完整代碼)

    這篇文章主要介紹了微信小程序跑馬燈效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • JavaScript中的location、history、navigator對象實例介紹

    JavaScript中的location、history、navigator對象實例介紹

    這篇文章主要介紹了JavaScript中的location、history、navigator對象實例介紹,需要的朋友可以參考下
    2023-05-05
  • 圖片上傳之FileAPI與NodeJs

    圖片上傳之FileAPI與NodeJs

    本文主要介紹了使得我們處理圖片上傳更加簡單的方法FileAPI。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 基于js的變量提升和函數(shù)提升(詳解)

    基于js的變量提升和函數(shù)提升(詳解)

    下面小編就為大家?guī)硪黄趈s的變量提升和函數(shù)提升(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

神农架林区| 阿图什市| 南川市| 兴山县| 彰武县| 新和县| 绍兴县| 浦城县| 黔南| 察雅县| 赫章县| 会理县| 泰安市| 尉犁县| 无为县| 临潭县| 常德市| 呼伦贝尔市| 邵阳县| 凉山| 常德市| 兴山县| 昌宁县| 竹北市| 洛川县| 宜兴市| 陆河县| 建水县| 济源市| 天峨县| 嘉鱼县| 鹿邑县| 遂溪县| 星子县| 驻马店市| 资兴市| 阿城市| 江津市| 乌兰察布市| 光泽县| 墨竹工卡县|