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

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

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

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

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

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

請(qǐng)看例子

<!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);

因?yàn)閖s是從上到下執(zhí)行了, 所以我們這里打印出的值是 null,他獲取不到div的節(jié)點(diǎn)信息

我們通過(guò) 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é)點(diǎn)信息

defer跟 async的區(qū)別

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

async: async跟html是同步解析的執(zhí)行順序是誰(shuí)先完成js腳本,就誰(shuí)先執(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í)行順序 是誰(shuí)先完成就誰(shuí)先執(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Eval and new funciton not the same thing

    Eval and new funciton not the 

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

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

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

    js處理php輸出時(shí)間戳對(duì)不上號(hào)的解決方法

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

    JavaScript簡(jiǎn)寫技巧總結(jié)

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

    點(diǎn)擊A元素觸發(fā)B元素的事件在IE8下會(huì)識(shí)別成A元素

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

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

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

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

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

    JavaScript中的location、history、navigator對(duì)象實(shí)例介紹

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

    圖片上傳之FileAPI與NodeJs

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

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

    下面小編就為大家?guī)?lái)一篇基于js的變量提升和函數(shù)提升(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09

最新評(píng)論

都昌县| 永吉县| 安义县| 郧西县| 如皋市| 象山县| 吴桥县| 阳原县| 甘孜| 高雄县| 叶城县| 高青县| 信阳市| 灌阳县| 临泽县| 大英县| 霞浦县| 永清县| 柳江县| 蕉岭县| 榆树市| 普兰县| 余姚市| 盈江县| 赫章县| 杭锦旗| 罗平县| 宁河县| 金乡县| 四平市| 光山县| 米林县| 锡林浩特市| 涟水县| 云梦县| 吉隆县| 漯河市| 喜德县| 鹿泉市| 五台县| 永寿县|