您現在的位置是:首頁 > 人文
JavaScript條件語句:switch語句
case後面可以跟字串嗎
一、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開瓶蓋,悠著點!
其實對於千元機來說用塑膠、玻璃作為攝像頭邊緣材料是很正常的,對比高階手機來說它們的售價和成本本身就有很大差別,所以大家對於普通手機升降攝像頭的硬度不能太過於自信,今天開飲料瓶明天開啤酒瓶,畢竟他們是手機,專業的事還是交給專業工具去做,用手機...