JavaScript基礎(chǔ)語法01

JavaScript的語法大量借鑒了C 及其他類C 語言(如Java 和Perl)的語法。因此,熟悉這些語言的開發(fā)人員在接受JavaScript 更加寬松的語法時(shí),一定會(huì)有一種輕松自在的感覺。

一、區(qū)分大小寫
  • 要理解的第一個(gè)概念就是JavaScript 中的一切(變量、函數(shù)名和操作符)都區(qū)分大小寫。這也就意味著,變量名test 和變量名Test 分別表示兩個(gè)不同的變量,而函數(shù)名不能使用typeof,因?yàn)樗且粋€(gè)關(guān)鍵字,但typeOf 則完全可以是一個(gè)有效的函數(shù)名。
二、標(biāo)識(shí)符
  • 所謂標(biāo)識(shí)符,就是指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。標(biāo)識(shí)符可以是按照下列格式規(guī)則組合起來的一或多個(gè)字符:
    • 第一個(gè)字符必須是一個(gè)字母、下劃線(_)或一個(gè)美元符號(hào)($);
    • 其他字符可以是字母、下劃線、美元符號(hào)或數(shù)字。
  • 標(biāo)識(shí)符中的字母也可以包含擴(kuò)展的ASCII 或Unicode 字母字符(如à和?),但我們不推薦這樣做。
  • 按照慣例,JavaScript 標(biāo)識(shí)符采用駝峰大小寫格式,也就是第一個(gè)字母小寫,剩下的每個(gè)單詞的首字母大寫,例如:firstSecond、myCar、doSomethingImportant
  • 雖然沒有誰強(qiáng)制要求必須采用這種格式,但為了與JavaScript 內(nèi)置的函數(shù)和對(duì)象命名格式保持一致,可以將其當(dāng)作一種最佳實(shí)踐。
三、注釋
  • JavaScript 使用Java風(fēng)格的注釋,包括單行注釋和塊級(jí)注釋。單行注釋以兩個(gè)斜杠開頭,如下所示:
// 單行注釋
  • 塊級(jí)注釋以一個(gè)斜杠和一個(gè)星號(hào)(/*)開頭,以一個(gè)星號(hào)和一個(gè)斜杠(*/)結(jié)尾,如下所示:
/*
* 這是一個(gè)多行
* (塊級(jí))注釋
*/
  • 雖然上面注釋中的第二和第三行都以一個(gè)星號(hào)開頭,但這不是必需的。之所以添加那兩個(gè)星號(hào),純粹是為了提高注釋的可讀性(這種格式在企業(yè)級(jí)應(yīng)用中用得比較多)。
四、語句
  • JavaScript 中的語句以一個(gè)分號(hào)結(jié)尾;如果省略分號(hào),則由解析器確定語句的結(jié)尾,如下例所示:
var sum = a + b // 即使沒有分號(hào)也是有效的語句——不推薦
var diff = a - b; // 有效的語句——推薦
  • 雖然語句結(jié)尾的分號(hào)不是必需的,但我們建議任何時(shí)候都不要省略它。因?yàn)榧由线@個(gè)分號(hào)可以避免很多錯(cuò)誤(例如不完整的輸入),開發(fā)人員也可以放心地通過刪除多余的空格來壓縮JavaScript 代碼(代碼行結(jié)尾處沒有分號(hào)會(huì)導(dǎo)致壓縮錯(cuò)誤)。另外,加上分號(hào)也會(huì)在某些情況下增進(jìn)代碼的性能,因?yàn)檫@樣解析器就不必再花時(shí)間推測(cè)應(yīng)該在哪里插入分號(hào)了。
  • 可以使用Java風(fēng)格的語法把多條語句組合到一個(gè)代碼塊中,即代碼塊以左花括號(hào)({)開頭,以右花括號(hào)(})結(jié)尾:
if (test){
   test = false;
   alert(test);
}
  • 雖然條件控制語句(如if 語句)只在執(zhí)行多條語句的情況下才要求使用代碼塊,但最佳實(shí)踐是始終在控制語句中使用代碼塊——即使代碼塊中只有一條語句,例如:
if (test)
   alert(test); // 有效但容易出錯(cuò),不要使用
if (test){ // 推薦使用
   alert(test);
}
  • 在控制語句中使用代碼塊可以讓編碼意圖更加清晰,而且也能降低修改代碼時(shí)出錯(cuò)的幾率。
五、關(guān)鍵字和保留字
  • JavaScript規(guī)定了一組具有特定用途的關(guān)鍵字,這些關(guān)鍵字可用于表示控制語句的開始或結(jié)束,或者用于執(zhí)行特定操作等。按照規(guī)則,關(guān)鍵字也是語言保留的,不能用作標(biāo)識(shí)符。


  • JavaScript描述了另外一組不能用作標(biāo)識(shí)符的保留字。盡管保留字在這門語言中還沒有任何特定的用途,但它們有可能在將來被用作關(guān)鍵字。


  • JavaScript 引擎中使用關(guān)鍵字作標(biāo)識(shí)符,會(huì)導(dǎo)致“Identifier Expected”錯(cuò)誤。而使用保留字作標(biāo)識(shí)符可能會(huì)也可能不會(huì)導(dǎo)致相同的錯(cuò)誤,具體取決于特定的引擎。
  • 一般來說,最好都不要使用關(guān)鍵字和保留字作為標(biāo)識(shí)符和屬性名,以便與將來的JavaScript 版本兼容。
六、變量
  • JavaScript 的變量是松散類型的,所謂松散類型就是可以用來保存任何類型的數(shù)據(jù)。換句話說,每個(gè)變量?jī)H僅是一個(gè)用于保存值的占位符而已。定義變量時(shí)要使用var 操作符(注意var 是一個(gè)關(guān)鍵字),后跟變量名(即一個(gè)標(biāo)識(shí)符),如下所示:
var message;
  • 這行代碼定義了一個(gè)名為message 的變量,該變量可以用來保存任何值(像這樣未經(jīng)過初始化的變量,會(huì)保存一個(gè)特殊的值——undefined)。JavaScript 也支持直接初始化變量,因此在定義變量的同時(shí)就可以設(shè)置變量的值,如下所示:
var message = "hi";
  • 在此,變量message 中保存了一個(gè)字符串值"hi"。像這樣初始化變量并不會(huì)把它標(biāo)記為字符串類型;初始化的過程就是給變量賦一個(gè)值那么簡(jiǎn)單。因此,可以在修改變量值的同時(shí)修改值的類型,如下所示:
var message = "hi";
message = 100; // 有效,但不推薦
  • 在這個(gè)例子中,變量message 一開始保存了一個(gè)字符串值"hi",然后該值又被一個(gè)數(shù)字值100 取代。雖然我們不建議修改變量所保存值的類型,但這種操作在JavaScript 中完全有效。
  • 可以使用一條語句定義多個(gè)變量,只要像下面這樣把每個(gè)變量(初始化或不初始化均可)用逗號(hào)分隔開即可:
var message = "hi",
found = false,
age = 29;
  • 這個(gè)例子定義并初始化了3 個(gè)變量。同樣由于ECMAScript 是松散類型的,因而使用不同類型初始化變量的操作可以放在一條語句中來完成。雖然代碼里的換行和變量縮進(jìn)不是必需的,但這樣做可以提高可讀性。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容