js基礎之if判斷


本人菜雞,最近在學js

js中,if判斷增加了

if(變量名){
}

這種方式的判斷,會在括號內進行一些隱秘的類型轉換,從而導致一些問題

function a(k) {
    if (k) {
        console.log('成功');
    } else {
        console.log('失敗');
    }
}
let d = 0;
a(d)

以上代碼執行的結果竟然是

 

 這就令我大吃一驚,經過仔細查看js基礎后,發現了原理,原來js的基本數據類型中的boolean轉換成數字類型的時候是true對應1,false對應0,反過來,數字轉成boolean類型的時候也是同樣的,於是在if后面的括號中就進行了一個類型轉換,將Number類型的值轉換成了boolean,對應的0就變成了false,所以上面輸出的結果就是‘失敗’,反之,如果傳入1的話,就是成功,如下圖所示

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM