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的情况。