ECMAScript 語法

熟悉 Java、C 和 Perl 這些語言的開發者會發現 ECMAScript 的語法很容易掌握,因為它借用了這些語言的語法。

Java 和 ECMAScript 有一些關鍵的語法特性相同,也有一些完全不同。

區分大小寫

與 Java 一樣,變量、函數名、運算符以及其他一切東西都是區分大小寫的。

比如:

變量 test 與變量 TEST 是不同的。

變量是弱類型的

與 Java 和 C 不同,ECMAScript 中的變量無特定的類型,定義變量時只用 var 運算符,可以將它初始化為任意值。

因此,可以隨時改變變量所存數據的類型(盡量避免這樣做)。

例子

var color = "red";
var num = 25;
var visible = true;

每行結尾的分號可有可無

Java、C 和 Perl 都要求每行代碼以分號(;)結束才符合語法。

ECMAScript 則允許開發者自行決定是否以分號結束一行代碼。如果沒有分號,ECMAScript 就把折行代碼的結尾看做該語句的結尾(與 Visual Basic 和 VBScript 相似),前提是這樣沒有破壞代碼的語義。

最好的代碼編寫習慣是總加入分號,因為沒有分號,有些瀏覽器就不能正確運行,不過根據 ECMAScript 標準,下面兩行代碼都是正確的:

var test1 = "red"
var test2 = "blue";

注釋與 Java、C 和 PHP 語言的注釋相同

ECMAScript 借用了這些語言的注釋語法。

有兩種類型的注釋:

  • 單行注釋以雙斜杠開頭(//)
  • 多行注釋以單斜杠和星號開頭(/*),以星號和單斜杠結尾(*/)
//this is a single-line comment
/*this is a multi-
line comment*/

括號表示代碼塊

從 Java 中借鑒的另一個概念是代碼塊。

代碼塊表示一系列應該按順序執行的語句,這些語句被封裝在左括號({)和右括號(})之間。

例如:

if (test1 == "red") {
    test1 = "blue";
    alert(test1);
}