国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中switch判斷容易犯錯的一個細節

2019-11-20 14:14:13
字體:
來源:轉載
供稿:網友

switch語句與if語句的關系最為密切,也是其它編程語言中普遍使用的一種流程控制語句,但switch的匹配是全等模式,如果不注意這個細節則寫程序時往往會出錯。

代碼:

var n = '5';switch(n){    case 5:        alert('執行case分支');        break;    default:        alert('執行default分支');}

結果:

JS中的switch

可能很多人會誤以為以上程序會走case分支,結果卻走了default分支。難道它們兩個不相等嗎?我們使用if語句看看。

代碼:

var n = '5';if(n==5){    alert('真 分支');}else{    alert('假 分支');}

結果:

JS中的switch

在if語句里可以匹配,但為何在switch語句里不能匹配呢?

這是因為在switch語句里的case使用全等模式,也就相當于if里的使用三個等號類似。我們把case的代碼改寫一下

代碼:

var n = '5';switch(n){    case '5': // 把原來的 case 5 改寫成 case '5'        alert('執行case分支');        break;    default:        alert('執行default分支');}

結果:

JS中switch

改寫了以后就能走case分支了,就像我們if里使用三個全等號一樣

代碼:

var n = '5';if(n===5){    alert('真 分支');}else{    alert('假 分支');}

結果:

JS中的switch

因為使用全等,所以字符串5不等于數字5,結果走了假分支。

由以上例子說明在 switch中使用的是全等匹配模式,特別是數字與字符串匹配的時候需要注意的一個問題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连云港市| 句容市| 西平县| 宽甸| 建德市| 乌审旗| 哈巴河县| 永兴县| 南城县| 清水县| 永城市| 峡江县| 西青区| 龙陵县| 陇川县| 安溪县| 裕民县| 宝丰县| 贺兰县| 茶陵县| 精河县| 金湖县| 古蔺县| 左权县| 兴和县| 巩留县| 宜川县| 买车| 渭南市| 安塞县| 宣城市| 宝清县| 彩票| 会东县| 浦县| 宁化县| 云浮市| 双江| 英吉沙县| 青州市| 桃源县|