javascript 語法

4.1 語法

ECMAScript的語法大量借鑑了c及其他C語言(如java,Perl)的語法,因此,熟悉這些語言的開發人員在接收ECMAScript更加寬鬆的語法時,有種輕鬆自在的感覺(哈哈哈,我就是這種感覺)

4.1.1 區分大小寫

要理解的第一個概念就是ECMAScript的一切(變量,函數名和操作符)都區分大小寫,這也就意味着,變量名 test 和 Test 分別表示兩個不同的變量,而函數名不能用typeof,因爲typeof是一個關鍵字,但typeof則完全可以是一個有效的函數名

4.1.2 標識符

所謂標識符,就是指變量、函數、屬性的名字、或者函數的參數,標識符可以按照下面格式規則組合起來的一個或多個字符:

A: 第一個自符必須是字母、下劃線(_)或一個美元符號($)

B: 其他字符可以是字母、下劃線、美元符號或者數字。

標識符中的字母也可以包含拓展的ASCALL或Unicode字母字符,但我們不推薦這樣做。

按照慣例,ECMAScript標識符采用駝峯式大小寫格式,也就是第一個字母小寫,剩下的單詞首字母大寫,例如:myCar 

雖然沒有人強制採用這種格式,但爲了與ECMAScript內置的函數和對象命名格式保持一致們可以將其當作一種最佳實踐。

注意:不能把關鍵字、保留字、true、false和null用作標識符。

4.1.3 關鍵字和保留字

首先介紹關鍵字,ECMAScript的這些關鍵字可用於表示控制語句的開始和結束,或者用於執行特定的操作等。按照規則,關鍵字也是語言保留的,不能作爲標識符,一下就是ECMAScript所有的關鍵字(帶*的是第五版新增的關鍵字):

接着介紹保留字。儘管保留字在這門語言還沒有任何特定的功能,但它們有可能將來被用作關鍵字,以下是ECMA-262第3版定義的全部保留字:

上面兩張圖有點變形,將就着看吧,哈哈哈

4.1.4 註釋

ECMAScript使用c風格的註釋,包括單行註釋和快級註釋。單行註釋以兩個斜槓開頭,如下所示:

//單行註釋

快級註釋以一個斜槓和一個星號開頭,以一個星號和一個斜槓結尾,如下所示:

/*

*這是一個多行

*(塊級)註釋

*/

4.1.5嚴格模式

ECMAScript 5引入了嚴格模式(strict mode)的概念。嚴格模式是爲JavaScript定義一種不同的解析與執行模式。在嚴格模式下,ECMAScript 3中的一些不確定的行爲將得到處理,而且對於某些不安全的操作也會拋出錯誤。要想在整個腳本中啓用嚴格模式,可以在頂部添加如下代碼:

“use strict”;

這行代碼看起來像是字符串,而且也沒有賦值給任何變量但其實它是一個編譯指示(pragma),用於告訴支持JavaScript引擎切換到嚴格模式,這是爲不破壞ECMAScript 3語法而特定選定的語法。

在函數內部的上方包含這條編譯指示,也可以指定函數在嚴格模式下執行:

function doSomething(){

        “use strict”;

        //函數體

}

嚴格模式下,JavaScript的執行結果會有很大的不同,支持嚴格模式的瀏覽器包括IE10+、FireFox4+、Safari5.1+、Opera12+和Chrome

4.1.6 語句

ECMAScript中的語句以一個分號結尾;如果省略分號,則由解析器確定語句的結尾,如下例所示:

var sum=a + b;//即使沒有分號也是有效的語句-------不推薦

var sum=a + b;//有效的語句,推薦

雖然語句結尾的分號不是必需的,但建議我們任何時候都不要省略它,因爲加上這個分號可以避免很多錯誤(例如不完整的輸入),開發人員也可以放心通過刪除多餘的空格來壓縮ECMAScript代碼(代碼行結尾處沒有分號會導致壓縮錯誤)。另外,加上分號也會在某些情況下增進代碼的性能,因爲這樣,解析器就不必再花時間推測應該在哪裏插入分號了。

可以使用c風格的寫法把多條語句組合到一個代碼塊中,即代碼塊以“{“開頭,以“}“結尾:

if(test){

test=false;

alert(test);

}

雖然條件控制語句(如if語句)只有在執行多條語句的情況下菜使用代碼塊,但最佳實踐是始終在控制語句中使用代碼塊-即使代碼塊中只有一條語句,例如:

if(test)

alert(test);//有效,但容易出錯,不要使用

 

if(test){

alert(test);//推薦使用

}

在控制語句中使用代碼塊可以讓編碼意圖更加清晰,而且也能降低修改代碼時出錯的機率。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章