標籤:類型 16px 退出 編譯 解析 變數賦值 函數 image err
1.文法
(1)ECMAScript中的一切(變數,函數名和操作符)都是區分大小寫。
(2)標識符
標識符的第一個字元必須是字母,底線或是貨幣符號。
其他字元可以是字母,底線,貨幣符號和數字。
ECMAScript標識符採用駝峰大小寫格式。
(3)strict 模式(strict mode)
strict 模式是為了Javascript定義了一種不同的解析與執行模型。在strict 模式下,ECMAScript3中的一些不確定的行為將得到處理,而且對某些不安全的 操作也會拋出錯誤。
要在整個指令碼中啟用strict 模式,可以在頂部添加如下代碼:
“use strict”;
它是一個編譯指示(pragma),用於告訴支援的Javascript引擎切換到strict 模式。
2.關鍵字和保留字(高程P21)
3.變數
ECMAScript的變數是鬆散類型的,可以儲存任何類型的資料。
定義變數使用 var 操作符。
注意:
用 var 操作符定義的變數將成為定義該變數的範圍中的局部變數。即如果在函數中定義一個變數,當函數退出後就會被銷毀。
eg:
1 <script type="text/javascript">2 function test(){3 var message="hi";4 }5 test();6 alert(message);7 </script>
結果會出現錯誤:
這裡message是在函數中使用了var定義的。當函數被調用時,就會建立該變數並為其賦值,之後這個變數會立即被銷毀,所以當使用alert()函數時,會導致錯誤。
當省略var操作符時可以定義全域變數,這樣只要調用一次test()函數,這個變數就有了定義,就可以在函數外部的任何地方被訪問到了。
1 <script type="text/javascript">2 function test(){3 message="hi";4 }5 test();6 alert(message);7 </script>
注意:
雖然省略 var 操作符可以定義全域變數,但是不推薦這樣做,因為在局部範圍中定義全域變數很難維護,而且如果有意地忽略 var操作符,也會因為相應變數不會馬上就有定義而導致不必要的混亂。
給未經聲明的變數賦值在strict 模式下會導致拋出ReferenceError錯誤。
在strict 模式下,不能定義名為eval或arguments的變數,否則會出現語法錯誤。
Javascript中了eval()函數,arguments對象。
JS高程3.基本概念(1)