03、JavaScript-流程控制

每天一句:當(dāng)你進(jìn)退兩難的時(shí)候如何做出決定?—— 拋硬幣,當(dāng)你第一次拋了以后想再拋一次的時(shí)候,你就已經(jīng)知道答案了。


一、if語(yǔ)句

  • if(條件表達(dá)式)
  var box = 100;
  if(box > 50) alert('box 大于 50');
        
  var box = 100;
  if(box > 50)  // 大括號(hào)省略時(shí),if語(yǔ)句只針對(duì)   第一行有效?。。?    alert('box 大于 50');
    alert('不管怎樣,我都能被執(zhí)行到! ');
        
  var box = 100;
  if(box < 50) {
    alert('box 大于 50');
    alert('不管怎樣,我都能被執(zhí)行到 !'); 
  }
  • if(條件表達(dá)式){語(yǔ)句;} else{語(yǔ)句;}
  var box = 100;
  if (box > 50) {   // 條件為true
    alert('box 大于 50');
  } else {          // 條件
    alert('box 小于 50');
  }
  • if(條件表達(dá)式){語(yǔ)句;} else if(條件表達(dá)式){語(yǔ)句;} … else{語(yǔ)句;}
  var box = 100;
  if(box >= 100) {
    alert('甲');
  } else if(box >= 90) {
    alert('乙');
  } else if(box >= 80) {
    alert('丙');
  } else if(box >= 70) {
    alert('丁');
  } else if(box >= 60) {
    alert('及格');
  } else {
    alert('不及格');
  }
if語(yǔ)句

二、switch語(yǔ)句

switch語(yǔ)句是多重條件判斷,用于多個(gè)值相等的比較。

  var num = 1;
  // 用于判斷 box 相等的多個(gè)值
  switch (num){
    case 1:
      alert('星期一');
    break;  // break;用于防止語(yǔ)句的穿透

    case 2:
      alert('星期二');
    break;

    default:  // 相當(dāng)于if語(yǔ)句中的else,否則的意思,即都不滿足的時(shí)候執(zhí)行
      alert(111);
    break;
  }

三、do...while循環(huán)

do...while循環(huán)是一種先執(zhí)行,后判斷的循環(huán)語(yǔ)句;即不管條件是否滿足,至少會(huì)執(zhí)行一次循環(huán)體

  // do...while語(yǔ)句(先運(yùn)行,再判斷)
  var num = 1;
  do{
    num ++;
  } while( num <=5 );
  alert(num);
do-while

四、while循環(huán)

while循環(huán)是一種先判斷,后運(yùn)行的循環(huán)語(yǔ)句;即必須滿足條件之后,才會(huì)運(yùn)行循環(huán)體。

  // while語(yǔ)句(先判斷,再運(yùn)行)
  num = 1;
  while(num <= 5){
    num++;
  }
  alert(num);
while

五、for循環(huán)

for循環(huán)也是一種先判斷,后運(yùn)行的循環(huán)語(yǔ)句;但它具有在執(zhí)行循環(huán)之前初始化變量的能力

  for(var i=0; i<5; i++){
    document.write(i + '<br/>’);
  }
  // 第一步: 聲明變量 var i = 0;
  // 第二步:判斷 i < 5
  // 第三步:符合條件即是執(zhí)行document.write(i + ‘<br/>’);
  // 第四步:i++操作
  // 第五步:從第二步開(kāi)始循環(huán)操作,直到條件為false
  循環(huán)n次,從0開(kāi)始
  for(var i=0; i<n; i++){}

  循環(huán)n次,從1開(kāi)始
  for(var i=1; i<=n; i++){}

六、break和continue

break和continue語(yǔ)句都是用于循環(huán)中精確控制代碼執(zhí)行的。break語(yǔ)句會(huì)退出(結(jié)束)循環(huán),強(qiáng)制執(zhí)行循環(huán)體后面的語(yǔ)句;continue語(yǔ)句跳過(guò)當(dāng)前循環(huán),繼續(xù)后面的循環(huán)。

七、無(wú)限循環(huán)(死循環(huán))

  while(true){}
  while(1) {}
  for(;;){}

八、適用場(chǎng)景

while循環(huán),適用于次數(shù)不固定的循環(huán)操作;
for循環(huán),更多適用于循環(huán)次數(shù)固定的操作;

九、練習(xí)案例

案例1: for循環(huán)生成1000個(gè)按鈕(優(yōu)化處理);
案例2: 一個(gè)新入職,月工資為2000元的員工,每年漲工資2%,到退休時(shí)工作50年的月工資是多少;
案例3: 輸出100以內(nèi)所有7的倍數(shù)
案例4: 打印100–200之間所有能被3或者7整除的數(shù);
案例5: 計(jì)算10的階乘;
案例6: 計(jì)算1+3+5+...+99的和; (多種方法實(shí)現(xiàn))
案例7: 對(duì)應(yīng)打印出下列圖案1

*                       
* *         
* * *       
* * * *     
* * * * *

案例8: 對(duì)應(yīng)打印出下列圖案2
*
* * 
* * *
* * * *
* * * * *

案例9: 打印99乘法表;
案例10: 輸入行和列生成對(duì)應(yīng)表格;

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 第一章: JS簡(jiǎn)介 從當(dāng)初簡(jiǎn)單的語(yǔ)言,變成了現(xiàn)在能夠處理復(fù)雜計(jì)算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,757評(píng)論 0 6
  • 《ijs》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 5,636評(píng)論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,641評(píng)論 18 399
  • 單例模式 適用場(chǎng)景:可能會(huì)在場(chǎng)景中使用到對(duì)象,但只有一個(gè)實(shí)例,加載時(shí)并不主動(dòng)創(chuàng)建,需要時(shí)才創(chuàng)建 最常見(jiàn)的單例模式,...
    Obeing閱讀 2,313評(píng)論 1 10
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 8,117評(píng)論 2 17

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