十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      結合經典實例詳細介紹ECMAScript switch語句規則及應用

      百恒網絡 2012-02-28 5570

      switch語句

      switch語句與if語句的關系最為密切,而且也是在其他語言中普遍使用的一種流控制語句。ECMAScript中switch語句的語法與其他基于C的語言非常接近,如下所示:

      switch (expression) {

      case value: statement

      break;

      case value: statement

      break:

      case value: statement

      break;

      case value: statement

      break;

      default: statement

      }

      switch語句中的每一種情形(case)的含義是:"如果表達式等于這個值(value),則執行后面的語句( statement)"。而break關鍵字會導致代碼執行流跳出switch語句,如果省略break關鍵字,就會導致執行完當前case后,繼續執行下一個case。最后的default關鍵字則用于在表達式不匹配 前面任何一種情形的時候,執行機動代碼(因此,也相當于一個else語句)。

      從根本上講,switch語句就是為了讓開發人員免于編寫像下面這樣的代碼:

      var i=25;

      if (i==25){

      alert( "25");

      } else if (i==35) {

      alert( "35");

      } else if (i==45) {

      alert("45");

      }else(

      alert( "Other");

      }

      而與此等價的switch語句如下所示:

      var i=25;

      switch (i) {

      case 25:

      alert("25");

      break;

      case 35:

      alert("35");

      break;

      case 45:

      alert("45");

      break:

      default:

      alert( "Other");

      }

      通過為每個case后面都添加一個break語句,就可以避免同時執行多個case代碼的情況。假如確實需要混合幾種情形,不要忘了在代碼中添加注釋,說明你是有意省略了break關鍵字,如下所示:

      var i=25;

      switch (i) {

      case 25:

      case 35:

      alert("25 0r 35");

      break;

      case 45:

      alert("45");

      break:

      default:

      alert("Other");

      }

      雖然ECMAScript中的switch語句借鑒自其他語言,

      但南昌網頁設計公司前端開發工程師認為,這個語句也有自己的特色。首先,可以在switch語句中使用任何數據類型(在很多其他語言中只能使用數值),無論是字符串,還是對象都沒有問題。其次,每個case的值不一定是常量,可以是變量,甚至是表達式。請看下面這個例子:

      switch( "hello world") {

      case "hello"+"world":

      alert( "Greeting was found.");

      break;

      case "goodbye":

      alert( "Closing was found.");

      break:

      default:

      alert("Unexpected message was found.");

      }

      在這個例子中,switch語句使用的就是字符串。其中,第一種情形實際上是一個對字符串拼接操作求值的表達式。由于這個字符串拼接表達式的結果與switch的參數相等,因此結果就會顯示"Greeting was found."。而且,使用表達式作為case值還可以實現下列操作:

      var num=25;

      switch(true) {

      case num<0:

      alert( "Less than 0.");

      break:

      case num>=0&&num<=10:

      alert("Between O and 10.");

      break;

      case num>10&&num<=20:

      alert(¨Between 10 and 20.");

      break;

      default:

      alert( "More than 20.");

      }

      這個例子首先在switch語句外面聲明了變量num。而之所以給switch語句傳遞表達式true,是因為每個case值都可以返回一個布爾值。這樣,每個case按照順序被求值,直到找到匹配的值或者遇到default語句為止(這正是這個例子的最終結果)。

      南昌建網站公司前端開發工程師提醒,switch語句在比較值時僅用的是全等操作符,因此不會發生類型轉換(例如,字符串"10"不等于數值10)。


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      国产真实乱子伦精品视手机观看| 国产精品爽爽va在线观看网站| 亚洲七七久久精品中文国产| 日韩免费高清一级毛片| 国产乱人伦偷精品视频免| 国产精品亚洲片在线va| 91精品国产色综合久久不| 久久久国产精品一区二区18禁 | 国产精品亚洲一区二区三区在线观看 | 精品综合一区二区三区| 亚洲午夜日韩高清一区| 国产成人精品男人的天堂网站| 精品国产杨幂在线观看| 国产精品∧v在线观看| 中文国产成人精品久久不卡| 最新 国产 精品 精品 视频| 精品久久久久香蕉网| 亚洲av午夜精品无码专区| 亚洲精品福利在线观看| 2021午夜国产精品福利| 久久99精品久久久久婷婷| 久久久无码精品亚洲日韩蜜臀浪潮| 久久99精品免费视频| 人人妻人人澡人人爽人人精品电影| 亚洲国产精品免费视频| 青青青国产精品一区二区| 久久亚洲私人国产精品| 91精品国产高清久久久久久| 91国内揄拍国内精品对白| 亚洲国产精品成人精品小说| 亚洲国产精品成人综合色在线婷婷 | 久久久久久亚洲Av无码精品专口 | 在线播放偷拍一区精品| 亚洲色精品aⅴ一区区三区| 在线日韩日本国产亚洲| 亚洲日韩精品一区二区三区 | 无码精品久久一区二区三区 | 手机日韩精品视频在线看网站| 精品一区二区三区四区电影| 久青草中文字幕精品视频| 国产激情精品一区二区三区|