與其他語言不同,在JS中,a&&b或者a||b返回的是要么是a,要么是b;而其他語言中返回的是true or false
對於js中的或與運算,需要隱式的轉換為boolean類型再來運算;轉換規則為:
a&&b
如果a為true,則執行b並返回b的值;
如果a為false,則返回false不執行b;
a||b
如果a為true,則返回a的值不執行b;
如果a為false,則執行b並返回b的值;
var a=3; var b="test"; var c={name:'test'}; var d={}; a || b // => 3 c || b // => {name:'test'} d || b // => {} true || b // => true false || b // => 'test' NaN || b // => 'test' '' || b // => 'test' a && b // => 'test' c && b // => 'test' d && b // => 'test' true && b // => 'test' false && b // => fasle NaN && b // => NaN '' && b // =>''