摘要:表示要執(zhí)行外部文件的路徑或鏈接。由于規(guī)范要求腳本按照他們出現(xiàn)的先后順序執(zhí)行,因此第一個(gè)延遲腳本會(huì)優(yōu)先于第二個(gè)執(zhí)行,二這兩個(gè)腳本會(huì)優(yōu)先于事件執(zhí)行。無(wú)論使用任何方式,只要不存在和屬性,瀏覽器都會(huì)按照元素在頁(yè)面中出現(xiàn)的先后順序依次解析。
元素屬性
屬性 | 定義 |
---|---|
async | 【可選】。可以異步加載,表示可以立即下載此腳本,但不影響頁(yè)面其他操作。只對(duì)外部腳本有效。 |
charset | 【可選】。表示通過(guò)src屬性制定代碼的字符集。由于多數(shù)瀏覽器會(huì)忽略此屬性,很少人使用。 |
defer | 【可選】。表示腳本可以掩飾到文檔完全被解析和顯示之后再執(zhí)行。只對(duì)外部腳本有效。IE7及更早的版本對(duì)嵌入腳本也支持此屬性。 |
language | 已廢棄。 |
src | 【可選】。表示要執(zhí)行外部文件的路徑或鏈接。 |
type | 【可選】。默認(rèn)為text/javascript??梢砸暈閘anguage的替代品。表示編寫代碼使用的腳本語(yǔ)言的內(nèi)容類型(也成為MIME類型) |
這個(gè)屬性表明腳本在執(zhí)行時(shí)不會(huì)影響頁(yè)面的構(gòu)造。也就是說(shuō),腳本會(huì)被延遲到整個(gè)頁(yè)面都解析完成之后再運(yùn)行。因此,在元素中設(shè)置defer屬性,就是告訴瀏覽器此腳本立即下載,但是延遲執(zhí)行。
Document
這以上例子中,雖然我們把元素放在了文檔的元素中,但其中包含的腳本將延遲到整個(gè)解析完成之后再執(zhí)行。由于HTML5規(guī)范要求腳本按照他們出現(xiàn)的先后順序執(zhí)行,因此第一個(gè)延遲腳本會(huì)優(yōu)先于第二個(gè)執(zhí)行,二這兩個(gè)腳本會(huì)優(yōu)先于DOMContentLoaded事件執(zhí)行。在實(shí)際運(yùn)用中,兩個(gè)延遲腳本不一定會(huì)按照順序執(zhí)行,也不一定會(huì)在DOMContentLoaded事件觸發(fā)前執(zhí)行,因此最后只包含一個(gè)延遲腳本。defer屬性很少使用。
async異步腳本這個(gè)屬性與defer屬性蕾西,都用于改變處理腳本的行為。與defer不同的是,使用async的腳本并不能保證按照指定他們的先后屬性執(zhí)行。
Document
在以上例子中,第二個(gè)腳本可能會(huì)優(yōu)先于第一個(gè)腳本執(zhí)行,也不能不是。因此,如果使用async屬性,確保兩者之后互相不依賴非常重要。指定async屬性的目的是不讓頁(yè)面等待兩個(gè)腳本的下載與執(zhí)行,而是可以異步的加載頁(yè)面的其他內(nèi)容。所以,建議異步腳本不要在加載期間修改DOM,以免出現(xiàn)錯(cuò)誤。
異步腳本一定會(huì)在頁(yè)面load事件前執(zhí)行,但可能會(huì)在DOMContentLoaded事件觸發(fā)之前或之后執(zhí)行,因此,使用此屬性的人也很少。
直接在頁(yè)面內(nèi)部嵌入JavaScript代碼。
在外部引用JavaScript代碼。
特別強(qiáng)調(diào)
包含在元素內(nèi)部的代碼會(huì)被從上至下一次解釋。所以在元素內(nèi)部不要出現(xiàn)""字符串,否則會(huì)報(bào)錯(cuò)。
") } //Uncaught SyntaxError: Invalid or unexpected token //頁(yè)面只會(huì)顯示"")}"字符串
?如果確實(shí)要使用""字符串,可以加上轉(zhuǎn)義符""
") }
使用外部引入javascript時(shí),src屬性是必須的。這個(gè)屬性值是一個(gè)指向外部JavaScript文件的路徑或鏈接。
使用此方式引入JavaScript時(shí),在內(nèi)部不要寫任何額外的JavaScript代碼。如果寫了會(huì)被忽略。
無(wú)論使用任何方式,只要不存在defer和async屬性,瀏覽器都會(huì)按照元素在頁(yè)面中出現(xiàn)的先后順序依次解析。所以說(shuō),JavaScript代碼最好放在標(biāo)簽尾部,防止白屏之類問(wèn)題。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92821.html
摘要:年月級(jí)規(guī)范成為的推薦標(biāo)準(zhǔn),為基本的文檔結(jié)構(gòu)及查詢提供了接口。這意味著中的對(duì)象與原生對(duì)象的行為或活動(dòng)特點(diǎn)并不一致。結(jié)果第一條注釋就會(huì)成為中的第一個(gè)子節(jié)點(diǎn)。由于跨域安全限制,來(lái)自不同子域的頁(yè)面無(wú)法通過(guò)通信。 DOM(文檔對(duì)象模型)是針對(duì)HTML和XML文檔的一個(gè)API(應(yīng)用程序編程接口)。DOM描繪了一個(gè)層次化的節(jié)點(diǎn)樹,允許開發(fā)人員添加、移除和修改頁(yè)面的某一部分。DOM脫胎于Netsc...
摘要:然而,雖然先生對(duì)無(wú)所不知,被譽(yù)為世界的愛因斯坦,但他的語(yǔ)言精粹并不適合初學(xué)者學(xué)習(xí)。即便如此,在后面我還是會(huì)建議把當(dāng)做補(bǔ)充的學(xué)習(xí)資源。但目前為止,依然是學(xué)習(xí)編程的好幫手。周正則表達(dá)式,對(duì)象,事件,閱讀權(quán)威指南第,,,章。 既然你找到這篇文章來(lái),說(shuō)明你是真心想學(xué)好JavaScript的。你沒(méi)有想錯(cuò),當(dāng)今如果要開發(fā)現(xiàn)代網(wǎng)站或web應(yīng)用(包括互聯(lián)網(wǎng)創(chuàng)業(yè)),都要學(xué)會(huì)JavaScript。而面對(duì)泛...
摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
閱讀 2443·2021-11-23 09:51
閱讀 2475·2021-11-11 17:21
閱讀 3114·2021-09-04 16:45
閱讀 2400·2021-08-09 13:42
閱讀 2235·2019-08-29 18:39
閱讀 2899·2019-08-29 14:12
閱讀 1299·2019-08-29 13:49
閱讀 3374·2019-08-29 11:17