這節(jié)介紹一些JavaScript的基本語(yǔ)法規(guī)則。
了解JavaScript的語(yǔ)法,先來了解兩個(gè)主要的語(yǔ)法類型:語(yǔ)句和表達(dá)式
。
foo: var foo;
3 * 7
語(yǔ)句和表達(dá)式之間的區(qū)別最好通過實(shí)例說明,JavaScript(像Java)有兩種不同的方式實(shí)現(xiàn)if-then-else。一種是用語(yǔ)句:
var x;
if (y >= 0) {
x = y;
} else {
x = -y;
}
另一種是表達(dá)式:
var x = y >= 0 ? y : -y;
你可以將后者作為函數(shù)參數(shù)(但前者不行):
myFunction(y >= 0 ? y : -y)
最后,每當(dāng)JavaScript期待一個(gè)語(yǔ)句,你也可以用一個(gè)表達(dá)式代替。例如:
foo(bar(7, 1));
foo(...);
是一個(gè)語(yǔ)句(也叫做表達(dá)式語(yǔ)句),bar(7, 1)
是一個(gè)表達(dá)式。他們都實(shí)現(xiàn)函數(shù)調(diào)用。
流程控制語(yǔ)句,其語(yǔ)句體可以是單條語(yǔ)句。舉兩個(gè)例子:
if (obj !== null) obj.foo();
while (x > 0) x--;
然而,任何語(yǔ)句總能被語(yǔ)句塊代替,花括號(hào)包含零或多條語(yǔ)句。因此,你也可以這樣寫:
if (obj !== null) {
obj.foo();
}
while (x > 0) {
x--;
}
在本文中,我們只使用后一種方式。
JavaScript中的分號(hào)是可選的。但省略(分號(hào))可能會(huì)帶來意想不到的結(jié)果,所以我建議你不要那樣做。 正如上面所看到的,分號(hào)作為語(yǔ)句的結(jié)尾,但語(yǔ)句塊不需要。僅有一種情況下你能看到語(yǔ)句塊后面有分號(hào)——函數(shù)表達(dá)式后面的函數(shù)體塊。表達(dá)式作為語(yǔ)句的結(jié)尾,后面是分號(hào):
var x = 3 * 7;
var f = function () { };
JavaScript的注釋有兩種形式:?jiǎn)涡凶⑨尯投嘈凶⑨?。單行注釋?code>//開頭,以換行符結(jié)尾:
x++; // 單行(single-line)注釋
多行注釋用/**/
包裹
/*
這是多行注釋
多行哦
*/
Expressions versus statements in JavaScript Automatic semicolon insertion in JavaScript
更多建議: