亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript中switch判斷容易犯錯的一個細(xì)節(jié)

 更新時間:2014年08月27日 10:20:16   投稿:junjie  
這篇文章主要介紹了JavaScript中switch判斷容易犯錯的一個細(xì)節(jié),簡單說就是字符串和數(shù)字的差別,看完本文會有一個清晰的認(rèn)知,需要的朋友可以參考下

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

代碼:

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

結(jié)果:

JS中的switch

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

代碼:

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

結(jié)果:

JS中的switch

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

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

代碼:

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

結(jié)果:

JS中switch

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

代碼:

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

結(jié)果:

JS中的switch

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

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

相關(guān)文章

最新評論