alert(''==0);//true彈出的是true,''應該是false吧?
alert(' '==0);為什么是true啊?
眼眸繁星
2019-05-24 09:08:15
TA貢獻1876條經驗 獲得超6個贊
使用==比較兩個不同類型的值會先轉換,''會轉換為false,false又轉換為0,所以0==0為true。例如:true==1//true,true轉為1'2'==2//true,'2'轉為2而使用===比較會先判斷兩個值類型,如果不一樣則直接返回false,否則才會比較值,例如:''===0//false
TA貢獻1963條經驗 獲得超6個贊
在javascript中,雙等號(==)會比較等號兩端的內容,比如:"23"==23,這時候返回的是true;三等號(===)不僅會比較等號兩端內容,還會比較等號兩端內容的類型,比如:"23"===23則返回false,等號兩端內容相同,但是類型不一致,左邊是string類型,右邊是number類型。在JavaScript中,非0都為true,非空都為true,""是空,所以為false。
舉報