javascript中&&和||的區別
&&和||操作符兩邊不是布爾類型時,系統會轉換成布爾類型值再計算(空字符串、null、0都會被轉成false),結果本身不變。
&&操作符總結:只要一個false就取false的值,都是true取後面,都是false取前面。
<script type="text/javascript"> var a = 123 && 234; var b = 0 && 1; var c = 1 && 0; var d = 1 && ""; var e = "" && 1; var f = "" && 0; var g = 0 && ""; console.log(a); //輸出結果:234 console.log(b); //輸出結果:0 console.log(c); //輸出結果:0 console.log(d); //輸出結果:“” console.log(e); //輸出結果:“” console.log(f); //輸出結果:“” console.log(g); //輸出結果:0 </script>
||操作符總結:只要一個是true就取true的值,都是true取前面,都是false取後面。
<script type="text/javascript"> var a = 123 || 234; //輸出結果:123 var b = 0 || 1; //輸出結果:1 var c = 1 || 0; //輸出結果:1 var d = 1 || ""; //輸出結果:1 var e = "" || 1; //輸出結果:1 var f = "" || 0; //輸出結果:1 var g = 0 || ""; //輸出結果:0 console.log(a); console.log(b); console.log(c); console.log(d); console.log(e); console.log(f); console.log(g); </script>
這個兩個操作符需要注意的是,只有一邊是false和true的情況,和都是false或true的情況。