<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          javascript 您所在的位置:網(wǎng)站首頁(yè) 為什么女孩不找屬羊的男孩結(jié)(jié)婚 javascript

          javascript

          2025-07-18 04:00| 來(lái)源: 網(wǎng)絡(luò)整理| 查看: 265

          我們?cè)?《Javascript簡(jiǎn)史》這遍文章中說(shuō)過(guò),「Javascript」這門(mén)語(yǔ)言是由 Netscape開(kāi)發(fā)而來(lái),當(dāng)初開(kāi)發(fā)的時(shí)候?yàn)榱四茏?「Javascript」這門(mén)語(yǔ)言能與 HTML 頁(yè)面共存,而且不影響頁(yè)面的其他內(nèi)容,為此增加了一個(gè)統(tǒng)一的腳本支持( script 腳本元素)。

          script 元素

          在 HTML 頁(yè)面中使用「Javascript」語(yǔ)言主要的方法就是使用 script 元素,script 元素內(nèi)部的代碼從上而下依次執(zhí)行。

          在引入多個(gè) script 元素的時(shí)候,瀏覽器會(huì)按照 script 元素在頁(yè)面的中的先后順序進(jìn)行解析,當(dāng)上一個(gè)解析完成時(shí),才會(huì)進(jìn)行下一個(gè) script 元素中的內(nèi)容

          在 HTML 中使用 Javascript 的兩種方法

          //第一種方法:直接在標(biāo)簽內(nèi)使用 javascript 即可 console.log('第一種使用方法'); //第二種方法:引用外部文件 script 元素的屬性

          script 元素比較常用的幾個(gè)屬性

          src:可選,用于引用外部 javascript 文件 type:可選,編寫(xiě)代碼使用的腳本語(yǔ)言的類(lèi)型(也成MIME類(lèi)型),默認(rèn)值為 text/javascript async:可選,異步加載腳本,只對(duì)外部腳本文件有效 defer:可選,延遲腳本加載,在文檔完全被解析后在執(zhí)行,只對(duì)外部腳本文件有效 script 元素在 HTML 中的位置

          由于「Javascript」語(yǔ)言是一門(mén)單線程語(yǔ)言,在同一時(shí)間內(nèi),只能執(zhí)行一個(gè)任務(wù),所以只有當(dāng)上一個(gè)任務(wù)完成之后才能進(jìn)行下一個(gè)任務(wù),因此會(huì)導(dǎo)致 script 元素在 HTML 中的位置不同,會(huì)表現(xiàn)出不同效果。

          所有 script 元素都放在 元素中

          這種做法意味著,我們必須等待所有的 Javascript 代碼必須執(zhí)行完成之后才能開(kāi)始展示頁(yè)面的內(nèi)容,如果頁(yè)面的 Javascript 代碼非常多,這種方法就會(huì)導(dǎo)致我們看到頁(yè)面的加載會(huì)非常慢,用戶(hù)體驗(yàn)非常差,那么這么樣去優(yōu)化呢?其實(shí)很簡(jiǎn)單。

          頁(yè)面的內(nèi)容區(qū)域

          所有 script 元素都放在頁(yè)面內(nèi)容的后面

          優(yōu)化上面所說(shuō)的頁(yè)面加載慢的問(wèn)題,只需要把我們使用的 Javascript 代碼放到頁(yè)面的內(nèi)容之后即可,這樣頁(yè)面會(huì)首先加載內(nèi)容然后現(xiàn)實(shí)出來(lái),再去執(zhí)行 Javascript 代碼,這樣用戶(hù)就不會(huì)等待很久頁(yè)面才會(huì)顯示內(nèi)容。

          頁(yè)面的內(nèi)容區(qū)域 腳本的延時(shí)加載

          腳本如何進(jìn)行延時(shí)加載,這個(gè)就要利用 script 元素的 defer 屬性,在元素使用 defer 屬性時(shí),腳本會(huì)被延遲到整個(gè)頁(yè)面解析完成后在執(zhí)行。

          //example1.js 中的代碼 //console.log('example1'); //console.log(document.getElementById('content')); //example2.js 中的代碼 //console.log('example2'); //console.log(document.getElementById('content')); Title 這里頁(yè)面的內(nèi)容

          你會(huì)發(fā)在沒(méi)有加入 defer 屬性時(shí)控制臺(tái)會(huì)打印出如下結(jié)果

          example1 null example2 null

          當(dāng)給元素加上 defer 屬性時(shí),結(jié)果會(huì)發(fā)生變化,可以發(fā)現(xiàn)在 div 元素的內(nèi)容加載完成之后 Javascript 代碼才會(huì)執(zhí)行。

          example1 這里頁(yè)面的內(nèi)容 example2 這里頁(yè)面的內(nèi)容 腳本的異步加載

          腳本的異步加載,要用到 script 元素到 async 屬性,它與 defer 屬性類(lèi)似,都是修改 script 元素的加載行為,不過(guò) async 屬性不會(huì)影響頁(yè)面的其他加載,不會(huì)阻塞文檔呈現(xiàn),而且?guī)в?async 屬性的腳本不能保證它們執(zhí)行的前后順序,這一點(diǎn)與 defer 屬性有著不同之處。

          換句話說(shuō) example2.js 的代碼可能會(huì)先于 example1.js 中的代碼執(zhí)行,所以在使用 async 屬性時(shí),要避免兩個(gè) js 相互依賴(lài)。

          Title 這里頁(yè)面的內(nèi)容 noscript 元素

          早期的瀏覽器都會(huì)又一個(gè)問(wèn)題,那就是當(dāng)瀏覽器不支持 Javascript 語(yǔ)言時(shí)如何顯示頁(yè)面內(nèi)容,為此的解決方案就是創(chuàng)建了一個(gè) noscript 元素,它可以在不支持 Javascript 的瀏覽器中顯示內(nèi)容,而且只會(huì)在不支持 Javascript 的瀏覽器中才會(huì)顯示其中的內(nèi)容。

          Title 當(dāng)前瀏覽器不支持 Javascript 請(qǐng)更換瀏覽器

          關(guān)注微信公眾號(hào):六小登登。領(lǐng)取全套學(xué)習(xí)資源



          【本文地址】

          公司簡(jiǎn)介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專(zhuān)題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 布尔津县| 昭平县| 平原县| 巴楚县| 田东县| 营山县| 石城县| 北辰区| 阆中市| 湟源县| 建阳市| 普兰县| 白朗县| 龙岩市| 蒙山县| 阿克| 崇礼县| 石渠县| 阳曲县| 安徽省| 横峰县| 元朗区| 蒙城县| 临城县| 东乡族自治县| 德江县| 西安市| 阿坝县| 曲麻莱县| 佛坪县| 高平市| 林甸县| 大荔县| 龙陵县| 沐川县| 岫岩| 宜兰市| 亚东县| 偃师市| 新巴尔虎左旗| 五河县| http://444 http://444 http://444 http://444 http://444 http://444