[1]定義 [2]引入 [3] [4]註釋 [5]忽略空格 [6]代碼折行 [7]大小寫敏感 [8]保留字和關鍵字
目錄
[1]定義 [2]引入 [3]script標簽 [4]註釋 [5]忽略空格 [6]代碼折行 [7]大小寫敏感 [8]保留和關鍵字定義
javascript是一門用來增強頁面動態效果,實現頁面與用戶之間的實時、動態交互的腳本語言(解釋型編程語言)。javascript由三部分組成:ECMA、DOM和BOM
[1]ECMAScript由ECMA-262定義,提供核心語言功能(ECMA是歐洲電腦製造商協會)
[2]DOM文檔對象模型,提供訪問和操作網頁內容的方法的介面
[3]BOM瀏覽器對象模型,提供與瀏覽器交互的方法的介面
引入
引入javascript有兩種辦法:在頁面內嵌入js代碼和引入外部文件
[1]頁面內嵌入
<script> alert("My First JavaScript"); </script>
[2]引入外部js文件
[註意]帶有src屬性的<script>元素不應該在其<script>標簽之間再包含額外的js代碼,如果包含了嵌入的代碼,則只會下載並執行外部腳本,而忽略嵌入的代碼
<script src="myScript.js"></script>
<script>
無論哪種引入方法,都需要利用<script>標簽。<script>標簽共用6個屬性,其中language屬性已經廢棄
[1]src:表示包含要執行代碼的外部文件,該文件可以跨域
[2]charset:可選,表示通過src屬性指定的代碼的字元集,大多數瀏覽器會忽略
[3]defer:可選,表示腳本可以延遲到文檔完全被解析和顯示之後再執行,只對外部腳本有效
[4]async:可選,表示應該立即下載腳本,但不妨礙頁面的其他操作。只對外部腳本有效
[5]type:可選,是language的替代屬性,表示編寫代碼使用的腳本語言的內容類型,也稱為MIME類型。考慮到相容,一般還是text/javascript,若不指定,預設值也是text/javascript
[6]language:已廢棄
async和defer
[1]如果async和defer都不設置,瀏覽器會立即載入並執行指定的腳本
<script src="test.js"></script>
[2]如果只設置async,瀏覽器會非同步下載腳本,不阻塞頁面的其他操作
[註意]非同步腳本一定會在頁面的load事件前執行
<script src="test.js" async></script>
[3]如果只設置defer,腳本會被延遲到文檔完全被解析和顯示後再執行
<script src="test.js" defer></script>
註釋
註釋可以提高代碼可讀性,幫助自己和別人閱讀和理解Javascript代碼,註釋的內容不會在網頁中顯示,分為單行註釋和多行註釋兩種
//單行註釋 /* 多行註釋 */
忽略空格
JavaScript會忽略多餘的空格,可以向腳本添加空格,來提高其可讀性
//以下寫法均正確 var name="hello"; var name ="hello"; var name = "hello";
代碼折行
可以在文本字元串中使用反斜杠對代碼行進行換行
//正確 document.write("Hello \ World!"); //錯誤 document.write \ ("Hello World!");
大小寫敏感
JavaScript的變數、函數名和操作符都區分大小寫。函數getElementById與getElementbyID不同,同樣,變數myVariable與MyVariable也是不同的
保留字和關鍵字
ECMA-262描述了一組具有特定用途的關鍵字,這些關鍵字用於表示控制語句的開始或結束,或用於執行特定操作等;ECMA-262還描述了另外一組不能用作標識符的保留字,它們將來有可能成為關鍵字
//第5版在非嚴格模式下的保留字 Class | enum | extends | super | const | export | import //第5版在嚴格模式下的保留字 Implements | package | public | interface | private | static | let* | protected | yield*
[註意]在嚴格模式下,eval和arguments也不可作為標識符