1. 永遠不會滿足條件的 js 判斷
關(guān)鍵字: 數(shù)字類型判斷
var num = 0;
if(num && num == 0){
alert(true);
}else{
alert(false);
}
結(jié)果是: false;
為什么呢?
JavaScript 權(quán)威指南上說,如果一個布爾值用在數(shù)值環(huán)境中,true就轉(zhuǎn)換為數(shù)字1,而false 就轉(zhuǎn)換為數(shù)字0.如果一個布爾值用在一個字符串環(huán)境中,true就轉(zhuǎn)換為字符串 "true" ,而 false 就轉(zhuǎn)換為字符串 "false".
相反,如果我們把一個數(shù)值類型的0用在布爾環(huán)境中,那么0將轉(zhuǎn)換什么呢?
JavaScript 中的布爾類型值的用法跟C中的布爾類型值的用法更相擬,而不是和JAVA相擬。