JavaScript基本語(yǔ)法
JavaScript基本語(yǔ)法
JavaScript的語(yǔ)法和Java語(yǔ)言類似,每個(gè)語(yǔ)句以;結(jié)束,語(yǔ)句塊用{...}。但是,JavaScript并不強(qiáng)制要求在每個(gè)語(yǔ)句的結(jié)尾加;,瀏覽器中負(fù)責(zé)執(zhí)行JavaScript代碼的引擎會(huì)自動(dòng)在每個(gè)語(yǔ)句的結(jié)尾補(bǔ)上;。
注意:讓JavaScript引擎自動(dòng)加分號(hào)在某些情況下會(huì)改變程序的語(yǔ)義,導(dǎo)致運(yùn)行結(jié)果與期望不一致。在本教程中,我們不會(huì)省略;,所有語(yǔ)句都會(huì)添加;。
例如,下面的一行代碼就是一個(gè)完整的賦值語(yǔ)句:
var x = 1;
下面的一行代碼是一個(gè)字符串,但仍然可以視為一個(gè)完整的語(yǔ)句:
'Hello, world';
下面的一行代碼包含兩個(gè)語(yǔ)句,每個(gè)語(yǔ)句用;表示語(yǔ)句結(jié)束:
var x = 1; var y = 2;
// 不建議一行寫多個(gè)語(yǔ)句!
語(yǔ)句塊是一組語(yǔ)句的集合,例如,下面的代碼先做了一個(gè)判斷,如果判斷成立,將執(zhí)行{...}中的所有語(yǔ)句:
if (2 > 1) { x = 1; y = 2; z = 3; }
注意花括號(hào){...}內(nèi)的語(yǔ)句具有縮進(jìn),通常是4個(gè)空格??s進(jìn)不是JavaScript語(yǔ)法要求必須的,但縮進(jìn)有助于我們理解代碼的層次,所以編寫代碼時(shí)要遵守縮進(jìn)規(guī)則。很多文本編輯器具有“自動(dòng)縮進(jìn)”的功能,可以幫助整理代碼。
{...}還可以嵌套,形成層級(jí)結(jié)構(gòu):
if (2 > 1) { x = 1; y = 2; z = 3; if (x < y) { z = 4; } if (x > y) { z = 5; } }
JavaScript本身對(duì)嵌套的層級(jí)沒(méi)有限制,但是過(guò)多的嵌套無(wú)疑會(huì)大大增加看懂代碼的難度。遇到這種情況,需要把部分代碼抽出來(lái),作為函數(shù)來(lái)調(diào)用,這樣可以減少代碼的復(fù)雜度。
注釋
以//開(kāi)頭直到行末的字符被視為行注釋,注釋是給開(kāi)發(fā)人員看到,JavaScript引擎會(huì)自動(dòng)忽略:
// 這是一行注釋alert('hello'); // 這也是注釋
另一種塊注釋是用/*...*/把多行字符包裹起來(lái),把一大“塊”視為一個(gè)注釋:
/* 從這里開(kāi)始是塊注釋
仍然是注釋
仍然是注釋
注釋結(jié)束 */
//alert('我不想執(zhí)行'); alert('我也不想執(zhí)行');
<html> <head> <script> //alert('我不想執(zhí)行'); alert('我也不想執(zhí)行'); </script> </head> <body> ... </body> </html>