2.2嵌入代碼與外部文件
在HTML中嵌入JavaScript代碼雖然沒有問題,但一般認(rèn)為最好還是盡可能使用外部文件來包含JavaScript代碼。不過,并不存在必須使用外部文件的硬性規(guī)定。
使用外部文件的優(yōu)點:
- 可維護(hù)性
- 可緩存
- 適應(yīng)未來
2.3文檔模式
IE5引入了文檔模式的概念,這個概念是文檔類型(doctype)切換實現(xiàn)的。
最初的兩種文檔模式是:混雜模式 和 標(biāo)準(zhǔn)模式,后來又有一種準(zhǔn)標(biāo)準(zhǔn)模式
混雜模式下不同瀏覽器的行為差異性非常大,因此不推薦。
準(zhǔn)標(biāo)準(zhǔn)模式和標(biāo)準(zhǔn)模式非常接近,它們的差異幾乎可以忽略不計,因此當(dāng)有人提到“標(biāo)準(zhǔn)模式”時指的可能是這兩種模式的任何一種,檢測文檔模式時也不會發(fā)現(xiàn)什么不同。通??梢园褬?biāo)準(zhǔn)模式看為除混雜模式的任意一種。
2.4<noscript>元素
早期瀏覽器都會面臨一個問題,當(dāng)瀏覽器不支持JavaScript時如何讓它平穩(wěn)退化。
最終解決方案就是創(chuàng)造一個<noscript>元素,可以包含任意除了<script>外的HTML元素。包含在<noscript>元素中的內(nèi)容在下列情況會顯示出來:
- 瀏覽器不支持腳本
- 瀏覽器支持腳本但腳本被禁用
3基本概念
3.1語法
ECMAScript語法大量借鑒了C及其他類C語言的語法
3.1.1區(qū)分大小寫
ECMAScript中一切(變量、函數(shù)名和操作符)都區(qū)分大小寫。
3.1.2標(biāo)識符
標(biāo)識符指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。
規(guī)則:
- 第一個字符必須是一個字母、下劃線(_)、或一個美元符號($)
- 其他字符可以是字母、下劃線、美元符號或數(shù)字
按照慣例使用駝峰命名
不能把關(guān)鍵字、保留字、true、false和null等用作標(biāo)識符
3.1.3注釋
使用C風(fēng)格的注釋,包括單行注釋和塊級注釋。
//單行注釋
/*
*這是一個多行
*塊級注釋
*/
3.1.4嚴(yán)格模式
在嚴(yán)格模式下ECMAScript3中一些不確定行為將得到處理,并且對某些不安全的操作也會拋出錯誤。啟用嚴(yán)格模式可在頂部添加:
"use strict"
它是一個“編譯指示”,用于告訴支持的JavaScript引擎切換到嚴(yán)格模式
3.1.5語句
ECMAScript中的語句以一個分號結(jié)尾,如果省略分號則由解析器確定語句結(jié)尾。
建議加上分號
可以使用C風(fēng)格的花括號把多條語句組合到一個代碼塊中。雖然if語句只在執(zhí)行多條語句的情況下才要求使用代碼塊,但最佳實踐是始終在控制語句中使用代碼塊——即使代碼塊中只有一條語句。