国产探花免费观看_亚洲丰满少妇自慰呻吟_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中使用的是全等匹配模式,特別是數字與字符串匹配的時候需要注意的一個問題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太原市| 霞浦县| 静海县| 岳阳县| 壤塘县| 温宿县| 澎湖县| 大姚县| 荆门市| 平利县| 石柱| 永安市| 闵行区| 柳江县| 长顺县| 白银市| 延吉市| 卫辉市| 太仓市| 广西| 东方市| 辉南县| 峨边| 太谷县| 易门县| 晋中市| 吉林省| 苍梧县| 涡阳县| 泸西县| 邛崃市| 巴彦淖尔市| 孟村| 宁陕县| 林口县| 宿州市| 昌黎县| 上虞市| 喜德县| 托克托县| 农安县|