JavaScript程序中的流程控制語(yǔ)句用法總結(jié)

字號(hào):


    條件判斷和循環(huán)是程序中的基本執(zhí)行流程控制方式,這里我們落實(shí)到具體語(yǔ)句,來(lái)看一下JavaScript程序中的流程控制語(yǔ)句用法總結(jié)
    條件判斷語(yǔ)句
    1.if語(yǔ)句
    if (condition) statement1 else statement2
    其中的condition條件可以是任意表達(dá)式,而且對(duì)這個(gè)表達(dá)式的求值結(jié)果不一定是布爾值。ECMAScript會(huì)自動(dòng)調(diào)用Boolean()轉(zhuǎn)換函數(shù)將這個(gè)表達(dá)式的結(jié)果轉(zhuǎn)換為一個(gè)布爾值。如果對(duì)condition求值的結(jié)果為true,則執(zhí)行statement1,如果對(duì)condition求值結(jié)果為false,則執(zhí)行statement2。這兩個(gè)語(yǔ)句既可以是一行代碼,也可以是一個(gè)代碼塊(推薦)。
    if (condition1) statement1 else if(condition2) statement2 else statement3
    2.switch語(yǔ)句
    switch(expression) {
      case value: statement
        break;
      case value: statement
        break;
      case value: statement
        break;
      default: statement
    }
    switch語(yǔ)句中每一個(gè)case的含義是:"如果表達(dá)式等于這個(gè)值value,則執(zhí)行后面的語(yǔ)句statement"。而break會(huì)導(dǎo)致代碼執(zhí)行跳出switch語(yǔ)句。如果省略break關(guān)鍵字,就會(huì)導(dǎo)致執(zhí)行完當(dāng)前case后,繼續(xù)執(zhí)行下一個(gè)case。最后的default關(guān)鍵字則用于在表達(dá)式不匹配前面任何一種情形時(shí),執(zhí)行機(jī)動(dòng)代碼(因此,也相當(dāng)于一個(gè)else語(yǔ)句)。
    例子1
    var num = 25;
    switch (true) {
      case num < 0:
        alert("Less than 0");
        break;
      case num >= 0 && num <= 10:
        alert("Between 0 and 10");
        break;
      case num > 10 && num <= 20:
        alert("Between 10 and 20");
        break;
      default:
        alert("More than 20");
    }
    注意:switch語(yǔ)句在比較值時(shí)使用的是全等操作符,因此不會(huì)發(fā)生類型轉(zhuǎn)換。
    循環(huán)語(yǔ)句
    后測(cè)試循環(huán)語(yǔ)句。
    在對(duì)表達(dá)式求值之前,循環(huán)體內(nèi)的代碼至少被執(zhí)行一次。
    1.do-while語(yǔ)句
    do {
      statement
    } while (expression);
    例子2
    var i = 0;
      do {
        i += 2;
      } while (i < 10);
      alert(i);//10
    前測(cè)試循環(huán)語(yǔ)句
    2.while語(yǔ)句
    ?
    1
    while(expression) statement
    例子3
    var i = 0;
     while(i < 10) {
       i += 2;
     }
     alert(i);//10
    3.for語(yǔ)句
    它具有在執(zhí)行循環(huán)之前初始化變量和定義循環(huán)后要執(zhí)行代碼的能力。
    例子4
    for(var i = 0;i < 10;i++) {
      alert(i);
    }
    迭代語(yǔ)句
    for-in語(yǔ)句
    for-in 語(yǔ)句是一種精準(zhǔn)的迭代語(yǔ)句,可以用來(lái)枚舉對(duì)象的屬性
    for (var prop in window) {
        console.log(prop);
      }
    ECMAScript對(duì)象的屬性沒(méi)有順序。因此通過(guò)for-in循環(huán)輸出的屬性名是不可預(yù)測(cè)的,具體來(lái)講,所有屬性都會(huì)被返回一次,單反毀的先后次序可能會(huì)因?yàn)g覽器而異。建議在使用之前,先檢測(cè)確認(rèn)該對(duì)象的值不是null或unedfined。
    控制執(zhí)行語(yǔ)句
    break語(yǔ)句
    立即退出循環(huán)
    例子5
    var num = 0;
     for(var i = 1;i < 10;i++) {
       if(i % 5 == 0) {
         break;
       }
       num++;
     }
     alert(num);//4
    continue語(yǔ)句
    退出當(dāng)前正在執(zhí)行的循環(huán)代碼,然后開始繼續(xù)循環(huán)。
    var num = 0;
        for(var i = 1;i < 10;i++) {
          if(i % 5 == 0) {
            continue;
          }
          num++;
        }
        alert(num);//8
    return語(yǔ)句
    可指定返回值,也可不指定(此時(shí)返回undefined)。
    1.return語(yǔ)句后停止并立即退出函數(shù),return后面的語(yǔ)句也永遠(yuǎn)不會(huì)執(zhí)行
    2.return語(yǔ)句只能在函數(shù)體內(nèi)出現(xiàn),如果不是的話會(huì)自動(dòng)報(bào)語(yǔ)法錯(cuò)誤