亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js 中的switch表達(dá)式使用示例

 更新時(shí)間:2020年06月03日 12:48:06   投稿:whsnow  
switch 這種表達(dá)式在很多語言中都有,比如java, C等待, 使用switch比使用if else 來得方便,來得清晰,下面為大家詳細(xì)介紹下其具體的使用,感興趣的朋友可以參考下

前言

switch 語句用于基于不同條件執(zhí)行不同動(dòng)作。

JavaScript Switch 語句

請使用 switch 語句來選擇多個(gè)需被執(zhí)行的代碼塊之一。

switch(表達(dá)式) {
   case n:
    代碼塊
    break;
   case n:
    代碼塊
    break;
   default:
    默認(rèn)代碼塊
} 

代碼解釋:

計(jì)算一次 switch 表達(dá)式
把表達(dá)式的值與每個(gè) case 的值進(jìn)行對比
如果存在匹配,則執(zhí)行關(guān)聯(lián)代碼
實(shí)例
getDay() 方法返回 0 至 6 之間的周名數(shù)字(weekday number)。

(Sunday=0, Monday=1, Tuesday=2 ..)

本例使用周名數(shù)字來計(jì)算周的名稱:

switch (new Date().getDay()) {
  case 0:
    day = "星期天";
    break;
  case 1:
    day = "星期一";
     break;
  case 2:
    day = "星期二";
     break;
  case 3:
    day = "星期三";
     break;
  case 4:
    day = "星期四";
     break;
  case 5:
    day = "星期五";
     break;
  case 6:
    day = "星期六";
}

結(jié)果將是:

今天是星期三

break 關(guān)鍵詞

如果 JavaScript 遇到 break 關(guān)鍵詞,它會(huì)跳出 switch 代碼塊。

此舉將停止代碼塊中更多代碼的執(zhí)行以及 case 測試。

如果找到匹配,并完成任務(wù),則隨機(jī)中斷執(zhí)行(break)。無需更多測試。

break 能夠節(jié)省大量執(zhí)行時(shí)間,因?yàn)樗鼤?huì)“忽略” switch 代碼塊中的其他代碼的執(zhí)行。

不必中斷 switch 代碼塊中的最后一個(gè) case。代碼塊在此處會(huì)自然結(jié)束。

default 關(guān)鍵詞

default 關(guān)鍵詞規(guī)定不存在 case 匹配時(shí)所運(yùn)行的代碼:

實(shí)例

getDay() 方法返回 0 至 6 的數(shù)字周名。

如果今日既不是周六(6)也不是周日(0),則輸出一段默認(rèn)消息:

switch (new Date().getDay()) {
  case 6:
    text = "今天是周六";
    break; 
  case 0:
    text = "今天是周日";
    break; 
  default: 
    text = "期待周末~";
} 

text 的結(jié)果是:

期待周末~

默認(rèn)的 case 不必是 switch 代碼塊中最后一個(gè) case:

實(shí)例

switch (new Date().getDay()) {
  default: 
    text = "期待周末!";
     break;
  case 6:
    text = "今天是周六";
    break; 
  case 0:
    text = "今天是周日";
} 

如果 default 不是 switch 代碼塊中最后一個(gè) case,請記得用 break 結(jié)束默認(rèn) case。

常見的代碼塊

有時(shí)您會(huì)需要不同的 case 來使用相同的代碼。

在本例中,case 4 和 5 分享相同的代碼塊,而 0 和 6 分享另一段代碼塊:

實(shí)例

switch (new Date().getDay()) {
  case 4:
  case 5:
    text = "周末快到了:)";
    break; 
  case 0:
  case 6:
    text = "今天是周末~";
     break;
  default: 
    text = "期待周末!";
} 

Switching 的細(xì)節(jié)

如果多種 case 匹配一個(gè) case 值,則選擇第一個(gè) case。

如果未找到匹配的 case,程序?qū)⒗^續(xù)使用默認(rèn) label。

如果未找到默認(rèn) label,程序?qū)⒗^續(xù) switch 后的語句。

嚴(yán)格的比較

Switch case 使用嚴(yán)格比較(===)。

值必須與要匹配的類型相同。

只有操作數(shù)屬于同一類型時(shí),嚴(yán)格比較才能為 true。

在這個(gè)例子中,x 將不匹配:

實(shí)例

var x = "0";
switch (x) {
 case 0:
  text = "Off";
  break;
 case 1:
  text = "On";
  break;
 default:
  text = "No value found";
}

語法switch 這種表達(dá)式在很多語言中都有,比如java, C等待, 使用switch比使用if else 來得方便,來得清晰。

使用語法很簡單:

switch(n) 
{ 
case 1: 
執(zhí)行代碼塊 1 
break; 
case 2: 
執(zhí)行代碼塊 2 
break; 
default: 
n 與 case 1 和 case 2 不同時(shí)執(zhí)行的代碼 
}

各種語言的使用基本類似。

需要特別提出的時(shí),在java 1.6 及以下版本, 變量(n)只能是整型。在java 7 之后支持String類型了。

在js 中, 是可以直接使用String 類型。

使用實(shí)例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Author" CONTENT="oscar999"> 
<script> 
function funcSwitch(sFlag) 
{ 
switch(sFlag) 
{ 
case "Test1": 
alert("Test1"); 
break; 
case "Test2": 
alert("Test2"); 
break; 
default:; 
} 
} 

funcSwitch("Test2"); 
</script> 
</HEAD> 

<BODY> 

</BODY> 
</HTML> 

邏輯很簡單, 代碼很簡單。 直接使用string 來區(qū)分。

Case 對應(yīng)的條件值也是變量

如果case 后面對應(yīng)的不是一個(gè)字符串,而是一個(gè)變量的話??梢越Y(jié)合RegExp 達(dá)成。

<!--Add by oscar999--> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Author" CONTENT="oscar999"> 
<script> 
var str1 = "Test1"; 
var str2 = "Test1"; 
function funcSwitch(sFlag) 
{ 
var regExp = new RegExp(sFlag); 
switch(true) 
{ 
case regExp.test(str1): 
alert("Test1"); 
break; 
case regExp.test(str2): 
alert("Test2"); 
break; 
default:; 
} 
} 

funcSwitch("Test1"); 

</script> 
</HEAD> 

<BODY> 

</BODY> 
</HTML>

相關(guān)文章

  • Bootstrap源碼解讀媒體對象、列表組和面板(10)

    Bootstrap源碼解讀媒體對象、列表組和面板(10)

    這篇文章主要源碼解讀了Bootstrap媒體對象、列表組和面板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JS實(shí)現(xiàn)自定義簡單網(wǎng)頁軟鍵盤效果代碼

    JS實(shí)現(xiàn)自定義簡單網(wǎng)頁軟鍵盤效果代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)自定義簡單網(wǎng)頁軟鍵盤效果代碼,可實(shí)現(xiàn)簡單模擬鍵盤布局及響應(yīng)鼠標(biāo)點(diǎn)擊按下鍵盤按鍵功能,簡單實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • JS遍歷數(shù)組和對象的區(qū)別及遞歸遍歷對象、數(shù)組、屬性的方法詳解

    JS遍歷數(shù)組和對象的區(qū)別及遞歸遍歷對象、數(shù)組、屬性的方法詳解

    本文給大家js遍歷數(shù)組和遍歷對象的區(qū)別,一般來說for用來遍歷數(shù)組對象而for-in用來遍歷非數(shù)組對象。接下來小編給大家?guī)砹薺s遍歷數(shù)組和對象的區(qū)別及js遞歸遍歷對象、數(shù)組、屬性的方法詳解,一起看下吧
    2016-06-06
  • echarts中幾種漸變方式的具體實(shí)現(xiàn)方式

    echarts中幾種漸變方式的具體實(shí)現(xiàn)方式

    在使用echarts繪制圖表時(shí),有的時(shí)候需要使用漸變色,下面這篇文章主要給大家介紹了關(guān)于echarts中幾種漸變方式的具體實(shí)現(xiàn)方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • JavaScript實(shí)現(xiàn)修改偽類樣式

    JavaScript實(shí)現(xiàn)修改偽類樣式

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)修改偽類樣式的方法以及代碼實(shí)現(xiàn)過程,一起學(xué)習(xí)參考下吧。
    2017-11-11
  • 微信小程序?qū)崿F(xiàn)下拉菜單切換效果

    微信小程序?qū)崿F(xiàn)下拉菜單切換效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)下拉菜單切換效果,篩選條件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • livereload工具實(shí)現(xiàn)前端可視化開發(fā)【推薦】

    livereload工具實(shí)現(xiàn)前端可視化開發(fā)【推薦】

    本文將介紹一個(gè)工具--livereload。這是一款能根據(jù)你本地文件(html、css、js)的變化,自動(dòng)跟蹤刷新瀏覽器的實(shí)時(shí)刷新工具,有了這個(gè)工具,會(huì)大大減輕你刷新頁面的工作量。下面跟著小編一起來看下吧
    2016-12-12
  • Bootstrap每天必學(xué)之日期控制

    Bootstrap每天必學(xué)之日期控制

    Bootstrap每天必學(xué)之日期控制,對Bootstrap日期控制感興趣的小伙伴們可以參考一下
    2016-03-03
  • 通過構(gòu)造函數(shù)實(shí)例化對象的方法

    通過構(gòu)造函數(shù)實(shí)例化對象的方法

    下面小編就為大家?guī)硪黄ㄟ^構(gòu)造函數(shù)實(shí)例化對象的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • JavaScript對象原型鏈原理詳解

    JavaScript對象原型鏈原理詳解

    這篇文章主要介紹了JavaScript對象原型鏈原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評論