您現在的位置是:首頁 > 人文
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。”);
}
推薦文章
- 低卡減脂的三鮮菌菇湯,吃完又是元氣滿滿的一天呢!
冬吃蘿蔔,夏吃薑,一年四季喝菌湯菌菇有著類似肉類的口感卻擁有低熱量、低脂肪、高營養的巨大優勢可以讓為滋補身體卻擔心發胖發愁的我們擁有一個無憂無慮的夏天早上來一碗熱氣騰騰的菌菇湯又是元氣滿滿的一天噢沖沖衝鴨~用料(菜籃子):雞蛋——1個火腿—...
- 急性腰扭傷怎麼辦?別急,按這三個穴位,緩解腰扭傷造成的疼痛
除了針灸治療,穴位按摩作為中醫上的一種治療手段,對於很多急性損傷疾病都能夠起到較好的緩解作用,而對於緩解腰急性損傷有很多穴位,但較常應用、且相對有效的則為以下三種:1、腎俞穴腎俞穴對於腰急性扭傷而引起的疼痛,能夠起到較好的緩解作用,其位置主...
- 自己做家裡做的麻花不好吃?原因是你第一步就做錯了
食物是人的根本,俗話說人是鐵飯是鋼,一頓不吃餓得慌,在以前,勞動人民把食物看得比什麼都重要,只要能讓自己和家人吃飽飯,付出再多的辛苦也是值得,到了現代,人們的生活水平提高了,吃飯不僅僅是為了飽腹,更多的是為了享受,但是生活的節奏太快,讓太多...