js的弱類型讓人感覺很多東西都比較迷惑,例如變量在if條件中到底是true還是false,如果在強類型語言中將一個非boolean類型的變量放在if條件中時,是需要進行類型轉換的,但是js不需要,下面來進行測試,測試常見的變量類型在if條件中的表現
!function test1(){ <span style="color:#ff0000;">var a,b=-1,c= 1,d= 0,e=null,f=undefined,g='',h="";</span> if(!a){ console.log('a='+a) } if(!b){ console.log("b="+b) } if(!c){ console.log("c="+c) } if(!d){ console.log("d="+d) } if(!e){ console.log("e="+e) } if(!f){ console.log("f="+f) } if(!g){ console.log("g="+g) } if(!h){ console.log("h="+h) } }()
設定了各種變量類型,分別放入if條件中
執行結果
a=undefined
d=0
e=null
f=undefined
g=
h=
i=false