任何語言的核心都必然會描述這門語言最基本的工作原理。而描述的內(nèi)容通常都要涉及這門語言的語法、操作符、數(shù)據(jù)類型、內(nèi)置功能等用于構(gòu)建復(fù)雜解決方案的基本概念。如前所述.ECMA-262通過叫做ECMAScript(發(fā)音是ek-ma-script)的“偽語言”為我們描述了JavaScript的所有這些基本概念。
目前,ECMA-262第3版中定義的ECMAScript是各瀏覽器實現(xiàn)最多的一個版本。ECMA-262第4版引入了新的語法、操作符、對象和動態(tài)修改JavaScript運行方式的概念。考慮到各瀏覽器對第4版 的支持還很不充分,南昌做站公司百恒網(wǎng)絡(luò)將完全按照第3版定義的ECMAScript介紹這門語言的基本概念。
語法
ECMAScript的語法大量借鑒了c及其他類c語言(如Java和Perl)的語法。因此,熟悉這些語言的開發(fā)人員在接受ECMAScript更加寬松的語法時,一定會有一種輕松自在的感覺。
1. 區(qū)分大小寫
要理解的第一個概念就是ECMAScript中的一切——變量、函數(shù)名和操作符——都區(qū)分大小寫。這也就意味著,變量名test和變量名Test俞別表示兩個不同的變量,而函數(shù)名不能使用typeof, 因為它是一個關(guān)鍵字,但typeOf則完全可以是一個有效的函數(shù)名。
2. 標(biāo)識符
所謂標(biāo)識符,就是指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。標(biāo)識符可以是按照下列格式規(guī)則組合起來的一或多個字符:
第一個字符必須是一個字母、下劃線(_)或一個美元符號($);
其他字符可以是字母、下劃線、美元符號或數(shù)字。
標(biāo)識符中的字母也可以包含擴(kuò)展的ASCII或Unicode字母字符,但南昌網(wǎng)站建設(shè)公司百恒網(wǎng)絡(luò)工程師不推薦這樣做。
按照慣例,ECMAScript標(biāo)識符采用駝峰大小寫格式,也就是第一個字母小寫,剩下的每個有意義的單詞的首字母大寫,例如:
firstSecond
myCar
doSomethinglmportant
雖然沒有誰強(qiáng)制要求必須采用這種格式,但南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)工程師建議為了與ECMAScript內(nèi)置的函數(shù)和對象命名格式保持一致.可以將其當(dāng)作一種最佳實踐。
3. 注釋
ECMAScript使用c風(fēng)格的注釋,包括單行注釋和塊級注釋。單行注釋以兩個反斜杠開頭,如下所示:
//單行注釋
塊級注釋以一個反斜杠和一個星號(/*)開頭,以一個星號和一個反斜杠(*/)結(jié)尾,如下所示:
/*
* 這是一個多行
* (塊級)注釋
*/
雖然上面注釋中的第二和第三行都以一個星號開頭,但這不是必需的。之所以添加那兩個星號,純粹是為了提高注釋的可讀性(這種格式在企業(yè)級應(yīng)用程序中極其常見)。
4.語句
ECMAScript中的語句以一個分號結(jié)尾;如果省略分號,則由解析器確定語句的結(jié)尾,如下例所示:
var sum = a+b //即使沒有分號也是有效的語句——不推薦
var diff = a-b; //有效的語句——推薦
雖然語句結(jié)尾的分號不是必需的,但南昌做網(wǎng)站公司工程師建議任何時候都不要省略它。因為加上這個分號可以避免很多錯誤(例如不完整的輸入),開發(fā)人員也可以放心地通過刪除多余的空格來壓縮ECMAScript代碼(代碼行結(jié)尾處沒有分號會導(dǎo)致壓縮錯誤)。另外,加上分號也會在某些情況下增進(jìn)代碼的性能,因為這樣解析器就不必再花時間推測應(yīng)該在哪里插入分號了。
可以使用c風(fēng)格的語法把多條語句組合到一個代碼塊中,即代碼蛺以左花括號(()開頭,以右花括號())結(jié)尾:
if (test){
test=false;
alert(test);
}
雖然條件控制語句(如if語句)只在執(zhí)行多條語句的情況下才要求使用代碼塊,但南昌網(wǎng)站設(shè)計公司百恒網(wǎng)絡(luò)工程師認(rèn)為最佳實踐是始終在控制語句中使用代碼塊——即使代碼塊中只有一條語句,例如:
if (test)
alert (test); //有效但容易出錯,不要使用
if (test){ //推薦使用
alert(test);
}
在控制語句中使用代碼塊可以讓編碼意圖更加清晰,而且也能降低修改代碼時出錯的幾率。
希望對廣大站長或網(wǎng)站建設(shè)公司或從事企業(yè)網(wǎng)站建設(shè)的小團(tuán)隊有所幫助,如對此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高與廣大站長和網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗。