ECMAScript 語句

一、ECMAScript if 語句

if 語句是 ECMAScript 中最常用的語句之一。

if 語句的語法

if (condition) statement1 else statement2

還可以串聯(lián)多個 if 語句。就像這樣:

if (condition1) statement1 else if (condition2) statement2 else statement3

二、ECMAScript 迭代語句

迭代語句又叫循環(huán)語句,聲明一組要反復(fù)執(zhí)行的命令,直到滿足某些條件為止。
循環(huán)通常用于迭代數(shù)組的值(因此而得名),或者執(zhí)行重復(fù)的算術(shù)任務(wù)。
本節(jié)為您介紹 ECMAScript 提供的四種迭代語句。

1、do-while 語句

do-while 語句是后測試循環(huán),即退出條件在執(zhí)行循環(huán)內(nèi)部的代碼之后計算。這意味著在計算表達(dá)式之前,至少會執(zhí)行循環(huán)主體一次

它的語法如下:

    do {statement} while (expression);

2、while 語句

while 語句是前測試循環(huán)。這意味著退出條件是在執(zhí)行循環(huán)內(nèi)部的代碼之前計算的。因此,循環(huán)主體可能根本不被執(zhí)行。

它的語法如下:

while (expression) statement

3、for 語句

for 語句是前測試循環(huán),而且在進(jìn)入循環(huán)之前,能夠初始化變量,并定義循環(huán)后要執(zhí)行的代碼。

它的語法如下:

for (initialization; expression; post-loop-expression) statement

注意:post-loop-expression 之后不能寫分號,否則無法運行。

4、for-in 語句

for 語句是嚴(yán)格的迭代語句,用于枚舉對象的屬性。

它的語法如下:

for (property in expression) statement

PropertyIsEnumerable()是 ECMAScript 中專門用于說明屬性是否可以用 for-in 語句訪問的方法。


三、ECMAScript 標(biāo)簽語句

有標(biāo)簽的語句
可以用下列語句給語句加標(biāo)簽,以便以后調(diào)用:

label : statement

例如:

start : i = 5;

在這個例子中,標(biāo)簽 start 可以被之后的 break 或 continue 語句引用。


四、ECMAScript break 和 continue 語句

break 和 continue 語句對循環(huán)中的代碼執(zhí)行提供了更嚴(yán)格的控制。

1、break 和 continue 語句的不同之處

  • break 語句可以立即退出循環(huán),阻止再次反復(fù)執(zhí)行任何代碼。
  • 而 continue 語句只是退出當(dāng)前循環(huán),根據(jù)控制表達(dá)式還允許繼續(xù)進(jìn)行下一次循環(huán)。

2、與有標(biāo)簽的語句一起使用

break 語句和 continue 語句都可以與有標(biāo)簽的語句聯(lián)合使用,返回代碼中的特定位置。

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
  for (var j=0; j<10; j++) {
    if (i == 5 && j == 5) {
    break outermost;   
  }
  iNum++;
  }
}

alert(iNum);    //輸出 "55"

在上面的例子中,標(biāo)簽 outermost 表示的是第一個 for 語句。如果使用continue outermost;輸出結(jié)果為95。


五、ECMAScript with 語句

有標(biāo)簽的語句

with 語句用于設(shè)置代碼在特定對象中的作用域。

它的語法:

with (expression) statement

例如:

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase()); //輸出 "HELLO"
}

在這個例子中,with 語句用于字符串,所以在調(diào)用 toUpperCase() 方法時,解釋程序?qū)z查該方法是否是本地函數(shù)。如果不是,它將檢查偽對象 sMessage,看它是否為該對象的方法。然后,alert 輸出 "HELLO",因為解釋程序找到了字符串 "hello" 的 toUpperCase() 方法。

提示:with 語句是運行緩慢的代碼塊,尤其是在已設(shè)置了屬性值時。大多數(shù)情況下,如果可能,最好避免使用它。

六、ECMAScript switch 語句

1、switch 語句

switch 語句是 if 語句的兄弟語句。
開發(fā)者可以用 switch 語句為表達(dá)式提供一系列的情況(case)。

switch 語句的語法:

switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

每個情況(case)都是表示“如果 expression 等于 value,就執(zhí)行 statement”。

2、ECMAScript 和 Java 中的 switch 語句

ECMAScript 和 Java 中的 switch 語句有兩點不同。在 ECMAScript 中,switch 語句可以用于字符串,而且能用不是常量的值說明情況:

var BLUE = "blue", RED = "red", GREEN  = "green";

switch (sColor) {
  case BLUE: alert("Blue");
    break;
  case RED: alert("Red");
    break;
  case GREEN: alert("Green");
    break;
  default: alert("Other");
}

這里,switch 語句用于字符串 sColor,聲明 case 使用的是變量 BLUE、RED 和 GREEN,這在 ECMAScript 中是完全有效的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • [The Swift Programming Language 中文版]本頁包含內(nèi)容: Swift提供了多種流程控...
    風(fēng)林山火閱讀 682評論 0 0
  • 本章將會介紹 控制流For-In 循環(huán)While 循環(huán)If 條件語句Switch 語句控制轉(zhuǎn)移語句 continu...
    寒橋閱讀 807評論 0 0
  • 作者的序言 朋友們,棄療系列4出來啦,作者還并沒有放棄,感覺自己萌萌噠,233。 語句 js程序其實就是一系列可執(zhí)...
    zhaolion閱讀 1,815評論 0 8
  • 昨天的放肆吃飯導(dǎo)致今天早上體重上升1.22斤。昨天早上瘦回去的,昨天又吃回來了。昨天下午吃了個月餅,據(jù)說熱量超高。...
    望飛雪閱讀 197評論 0 1
  • 宮腔女,春園松,莫若晴時風(fēng)又融。 三更雨,帝王寵,平登后位生死動。 寂楓林,長綢落,涼夜飄搖窗前歌。 應(yīng)為情,百般...
    楠木君閱讀 419評論 0 0

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