var val1 = 123 && 234;
var val2 = 0 && 1;
var val3 = 1 && 0;
var val4 = 1 && "";
var val5 = "" && 1;
var val6 = "" && 0;
var val7 = 0 && "";
console.log(val1,val2,val3,val4,val5,val6,val7)
结果是什么
&&和||操作符两边不是布尔类型时,系统会转换成布尔类型值再计算(空字符串、null、0都会被转成false),结果本身不变。上述表达式的结果为:
var val1 = 123 && 234; //234
var val2 = 0 && 1; //0
var val3 = 1 && 0; //0
var val4 = 1 && ""; //""
var val5 = "" && 1; //""
var val6 = "" && 0; //""
var val7 = 0 && ""; //0
&&操作符总结:只要一个false就取false的值,都是true取后面,都是false取前面。
||操作符跟&&操作符相反,那么如下表示式 的结果是什么?
var val1 = 1 || 2; //1
var val2 = 0 || 1; //1
var val3 = 1 || 0; //1
var val4 = 1 || ""; //1
var val5 = 0 || ""; //""
var val6 = "" || 0; //0
var val7 = 0 || ""; //""
||操作符总结:只要一个是true就取true的值,都是true取前面,都是false取后面。