希岛爱理av免费一区二区,成人性教育av免费网址,欧美7777,在线免费日韩片

十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
南昌百恒網絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡微信小程序

百恒網絡

南昌百恒網絡

結合經典實例詳細介紹ECMAScript switch語句規則及應用

百恒網絡 2012-02-28 5476

switch語句

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

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

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

var i=25;

switch (i) {

case 25:

case 35:

alert("25 0r 35");

break;

case 45:

alert("45");

break:

default:

alert("Other");

}

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

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

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

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

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


400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡小程序

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

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
主站蜘蛛池模板: 双桥区| 固原市| 辰溪县| 榆树市| 泾阳县| 沈阳市| 淮南市| 阿巴嘎旗| 赫章县| 四子王旗| 秦皇岛市| 汉中市| 东方市| 天等县| 蓬安县| 蛟河市| 肇州县| 同德县| 中阳县| 阳朔县| 东明县| 乳山市| 柘荣县| 澜沧| 伊宁市| 金平| 元氏县| 太谷县| 馆陶县| 德格县| 抚宁县| 宁陵县| 金门县| 呼图壁县| 临武县| 莆田市| 临泽县| 辽源市| 延津县| 衢州市| 沁水县|