<script>元素
可選:async(立即下載),
charset,defer(延遲解析顯示後執行),src,type(沒有async,defer屬性會按照先後順序依次執行)defer:
async:<script defer="defer"...>要在遇到</html>後執行
src:異步腳本(async)一定會在頁面load事件前執行,但可能會在DOMContentLoaded事件觸發之前或者之後執行。
其中src屬性可以包含來自外部域的js文件,和img的一樣。
這樣的話位於外部域中的代碼也會被加載和解析
所以如果別人替換了該鏈接的代碼,就...
只要遇到</script>就會認爲是結束標籤,通過把字符串分割爲兩部分解決問題:<\/script>爲了避免等待script加載,一般放在body最後,在解析之前頁面內容完全呈現在瀏覽器中了
在XHTML中用法
小於號在XHTML中將被當作開始一個新標籤來解析。所以爲了避免,用<;替換<
用CData片段包含js代碼。<script type="text/javascript">//<![CDATA[//]]</script>
文檔模式:
這個概念通過doctype(文檔類型)實現,最初兩個文檔模式是:混雜模式和標準模式
混雜模式讓IE的行爲和IE5(包含非標準特性)相同,標準模式則讓IE行爲更接近標準行爲,這兩種模式主要影響CSS內容的呈現還有js的解釋執行
如果沒有文檔類型聲明,那麼就會默認開啓混雜模式
標準模式:嚴格性
準標準模式:過渡型,框架急型
noscript元素在下列情況下才會顯示
瀏覽器不支持腳本
瀏覽器支持腳本但腳本會被禁用