十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡(luò)微信公眾號 掃一掃關(guān)注
      小程序
      tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
      掃一掃打開百恒網(wǎng)絡(luò)微信小程序

      百恒網(wǎng)絡(luò)

      南昌百恒網(wǎng)絡(luò)

      結(jié)合經(jīng)典實(shí)例詳細(xì)介紹ECMAScript switch語句規(guī)則及應(yīng)用

      百恒網(wǎng)絡(luò) 2012-02-28 5572

      switch語句

      switch語句與if語句的關(guān)系最為密切,而且也是在其他語言中普遍使用的一種流控制語句。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)的含義是:"如果表達(dá)式等于這個值(value),則執(zhí)行后面的語句( statement)"。而break關(guān)鍵字會導(dǎo)致代碼執(zhí)行流跳出switch語句,如果省略break關(guān)鍵字,就會導(dǎo)致執(zhí)行完當(dāng)前case后,繼續(xù)執(zhí)行下一個case。最后的default關(guān)鍵字則用于在表達(dá)式不匹配 前面任何一種情形的時候,執(zhí)行機(jī)動代碼(因此,也相當(dāng)于一個else語句)。

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

      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語句,就可以避免同時執(zhí)行多個case代碼的情況。假如確實(shí)需要混合幾種情形,不要忘了在代碼中添加注釋,說明你是有意省略了break關(guān)鍵字,如下所示:

      var i=25;

      switch (i) {

      case 25:

      case 35:

      alert("25 0r 35");

      break;

      case 45:

      alert("45");

      break:

      default:

      alert("Other");

      }

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

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

      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語句使用的就是字符串。其中,第一種情形實(shí)際上是一個對字符串拼接操作求值的表達(dá)式。由于這個字符串拼接表達(dá)式的結(jié)果與switch的參數(shù)相等,因此結(jié)果就會顯示"Greeting was found."。而且,使用表達(dá)式作為case值還可以實(shí)現(xiàn)下列操作:

      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語句傳遞表達(dá)式true,是因為每個case值都可以返回一個布爾值。這樣,每個case按照順序被求值,直到找到匹配的值或者遇到default語句為止(這正是這個例子的最終結(jié)果)。

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


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
      掃一掃打開百恒網(wǎng)絡(luò)小程序

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      久久国产精品国产精品| 精品无人区无码乱码毛片国产| 亚洲国产精品精华液| 久久精品亚洲AV久久久无码| 久久香蕉超碰97国产精品| 久久精品视频观看| 九九在线精品视频专区| 在线成人精品国产区免费| 久久精品国产精品亚洲| 精品精品国产国产| 久久国产精品一区| 97视频在线观看这里只有精品| 中文精品人人永久免费| 99久久精品国内| 成人精品视频一区二区三区不卡 | 久久综合日韩亚洲精品色| 国产在线精品99一卡2卡| 国产精品久久久久久久福利院| 国产精品无码素人福利免费| 国产精品先锋资源站先锋影院| 国产午夜福利久久精品| 日韩电影免费在线观看网站| 欧美日韩亚洲精品| 亚洲国产精品人人做人人爽 | 久久久久精品国产亚洲AV无码| 亚洲乱人伦精品图片| 91精品福利一区二区| 无码精品国产va在线观看dvd| 欧美日韩精品SUV| 国产综合精品在线| 四虎成人精品无码永久在线| 中文字幕无码日韩欧毛| 日本精品一区二区久久久| 成人国产精品999视频| 精品久久久久久久久久久久久久久| 国模精品一区二区三区| 久久国产精品久久久| 久久国产精品久久久久久| 96免费精品视频在线观看| 国产精品爽黄69天堂a| 久久精品国产导航|