您現在的位置是:首頁 > 人文

JavaScript條件語句:switch語句

由 木森林林常識庫 發表于 人文2023-01-19
簡介而break關鍵字會導致程式碼執行流跳出switch語句

case後面可以跟字串嗎

JavaScript條件語句:switch語句

一、switch語句

ECMAScript中switch語句的語法與其他基於C的語言非常接近,語法如下:

switch(expression){ case value: statement; break; case value: statement; break; case value: statement; break; default: statemen;}

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

二、switch語句和if語句是等價的

在某種程度上,switch語句和if語句是等價的。如下所示:

//if語句

if(i==25)

{ alert(“25”);}

elseif(i == 35)

{ alert(“35”);}

elseif(i == 45)

{ alert(“45”);}

else { alert(“Other”);}

//switch語句

switch(i){

case25:

alert(“25”);

break;

case35:

alert(“35”);

break;

case45:

alert(“45”);

break;

default:

alert(“Other”);

}

三、多個case合併

透過為每個case後面都新增一個break語句,就可以避免同時執行多個case程式碼的情況。如果確實需要混合幾種情形,可以省略break,但最好添加註釋。

switch(i){ case25: //合併兩種情形case35: alert(“25 or 35”); break; case45: alert(“45”); break; default: alert(“Other”);}

四、ECMAScript中的switch語句的特徵

ECMAScript中的switch語句借鑑自其他語言,但這個語句也有自己的特色:

可以在switch語句中使用任何資料型別(在很多其他語言中只能使用數值),無論是字串,還是物件都沒有問題。

每個case的值不一定是常量,可以是變數,甚至是表示式。

switch語句在比較值時使用的是全等運算子,因此不會發生型別轉換(例如,字串“10”不等於數值10)。

//字串比較

switch(“hello world”)

{ case“hello” + “world”: alert(“Greeting was found”); break; case“goodbye”: alert(“Closing was found”); break; default: alert(“Unexpected message was found。”);}

//布林值比較

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。”);

}

推薦文章

  • 全方位升級預告?ROG遊戲手機現電子版邀請函,內藏新機亮點彩蛋

    (黑鯊5S系列、紅魔7S系列曝光圖)所以說,相對於這麼多驍龍8+遊戲手機新品而言,自己也確實會更看好ROG遊戲手機6系列的表現,從散熱、螢幕再到軟體最佳化、操控系統等方面,都亮出了不少有意思的東西...

  • 暑假旅遊的好去處,河南清明上河園裡看一看

    河南開封確實是個好地方,吃的方面有小吃夜市,玩的方面有那麼多的景點,看的方面有那麼多的有古代特色的節目,說道這裡咱們言歸正傳,今天阿建介紹的這出景點,同樣在國內外景區的排行榜中擁有它一席之地,那就是清明上河園景區...

  • 網友用紅米K20開瓶蓋,悠著點!

    其實對於千元機來說用塑膠、玻璃作為攝像頭邊緣材料是很正常的,對比高階手機來說它們的售價和成本本身就有很大差別,所以大家對於普通手機升降攝像頭的硬度不能太過於自信,今天開飲料瓶明天開啤酒瓶,畢竟他們是手機,專業的事還是交給專業工具去做,用手機...