更新時(shí)間:2020年11月13日17時(shí)19分 來(lái)源:傳智播客 瀏覽次數(shù):
JavaScript腳本文件的引入方式和CSS樣式文件類似。在HTML文檔中引入JavaScript文件主要有三種,即行內(nèi)式、嵌入式、外鏈?zhǔn)?。接下?lái),我們將對(duì)JavaScript的三種引入方式做詳細(xì)講解。
1. 行內(nèi)式
行內(nèi)式是將JavaScript代碼作為HTML標(biāo)簽的屬性值使用。例如,單擊“test”時(shí),彈出一個(gè)警告框提示“Happy”,具體示例如下:
JavaScript還可以寫在HTML標(biāo)簽的事件屬性中,事件是JavaScript中的一種機(jī)制。例如,單擊網(wǎng)頁(yè)中的一個(gè)按鈕時(shí),就會(huì)觸發(fā)按鈕的單擊事件,具體示例如下:
上述代碼實(shí)現(xiàn)了單擊“test”按鈕時(shí),彈出一個(gè)警告框提示“Happy”。
值得一提的是,網(wǎng)頁(yè)開發(fā)提倡結(jié)構(gòu)、樣式、行為的分離,即分離HTML、CSS、JavaScript三部分的代碼。避免直接寫在HTML標(biāo)簽的屬性中,從而有利于維護(hù)。因此在實(shí)際開發(fā)中并不推薦使用行內(nèi)式。
2. 嵌入式
在HTML中運(yùn)用標(biāo)簽及其相關(guān)屬性可以嵌入JavaScript腳本代碼。嵌入JavaScript代碼的基本格式如下:
在上面的語(yǔ)法格式中,省略了type="text/JavaScript",這是因?yàn)樾掳姹镜臑g覽器一般將嵌入的腳本語(yǔ)言默認(rèn)為JavaScript,因此在編寫JavaScript代碼時(shí)可以省略type屬性。
JavaScript可以放在HTML中的任何位置,但放置的地方會(huì)對(duì) JavaScript腳本代碼的執(zhí)行順序會(huì)有一定影響。因此在實(shí)際工作中一般將JavaScript腳本代碼放置于HTML文檔的 標(biāo)簽之間。由于瀏覽器載入HTML 文檔的順序是從上到下,將JavaScript腳本代碼放置于標(biāo)簽之間,可以確保在使用腳本之前,JavaScript腳本代碼就已經(jīng)被載入,下面展示的就是一段放置了JavaScript的示例代碼。
在上面的示例代碼中,標(biāo)簽包裹的就是JavaScript腳本代碼。
3. 外鏈?zhǔn)?/p>
外鏈?zhǔn)绞菍⑺械腏avaScript代碼放在一個(gè)或多個(gè)以“.js”為擴(kuò)展名的外部JavaScript文件中,通過(guò)
上述格式中,src是script標(biāo)簽的屬性,用于指定外部腳本文件的路徑。同樣的,在外鏈?zhǔn)降恼Z(yǔ)法格式中,我們也可以省略type屬性,將外鏈?zhǔn)降恼Z(yǔ)法簡(jiǎn)寫為:
需要注意的是,調(diào)用外部JavaScript文件時(shí),外部的JavaScript文件中可以直接書寫JavaScript腳本代碼,不需要寫引入標(biāo)簽。
在實(shí)際開發(fā)中,當(dāng)需要編寫大量、邏輯復(fù)雜的JavaScript代碼時(shí),推薦使用外鏈?zhǔn)?。相比嵌入式,外鏈?zhǔn)降膬?yōu)勢(shì)可以總結(jié)為以下兩點(diǎn):
1) 利于后期修改和維護(hù)
嵌入式會(huì)導(dǎo)致HTML與JavaScript代碼混合在一起,不利用代碼的修改和維護(hù),外鏈?zhǔn)綍?huì)將HTML、CSS、JavaScript三部分代碼分離開來(lái),利于后期的修改和維護(hù)。
2) 減輕文件體積、加快頁(yè)面加載速度
嵌入式會(huì)將使用的JavaScript代碼全部嵌入到HTML頁(yè)面中,這就會(huì)增加HTML文件的體積,影響網(wǎng)頁(yè)本身的加載速度,而外鏈?zhǔn)娇梢岳脼g覽器緩存,將需要多次用到的JavaScript腳本代碼重復(fù)利用,既減輕了文件的體積,也加快了頁(yè)面的加載速度。例如,在多個(gè)頁(yè)面中引入了相同的JavaScript文件時(shí),打開第1個(gè)頁(yè)面后,瀏覽器就將JavaScript文件緩存下來(lái),下次打開其他引用該JavaScript文件的頁(yè)面時(shí),瀏覽器就不用重新加載JavaScript文件了。
在上面的示例代碼中,直接省略掉var,通過(guò)賦值的方式聲明變量。需要注意的是。由于JavaScript采用的是動(dòng)態(tài)編譯,程序運(yùn)行時(shí)不容易發(fā)現(xiàn)代碼中的錯(cuò)誤,所以本書仍然推薦讀者使用顯式聲明變量的方法。
北京校區(qū)