非布尔值的与(&&)或(||)运算情况:
对于非布尔值进行(&&)或(||)运算时,
会先将其转换为布尔值,然后再运算,并且返回原值
一:&& 运算
true && true的返回值情况:
&&运算:如果两个值都为true,则返回右边的值
var result = 1 && 2;
console.log("result = " + result);//2

false && true的返回值情况:
&&运算:如果两个值中有false,则返回靠前的false
result = 0 && 2;
console.log("result = " + result);//0
result = 2 && 0;
console.log("result = " + result);//0
result = NaN && 0;
console.log("result = " + result);//NaN
result = 0 && NaN;
console.log("result = " + result);//0

二: ||运算
true || true的情况:
如果第一个为true,直接返回第一个值
result = 1 || 2;
console.log("result = " + result);//1
result = 2 || NaN;
console.log("result = " + result);//2
result = 2 || 0;
console.log("result = " + result);//2

如果第一个为false,则直接返回第二个值
result = NaN || 1;
console.log("result = " + result);//1
result = NaN || 0;
console.log("result = " + result);//0
result = "" || "hello";
console.log("result = " + result);//hello
result = -1 || "hello";
console.log("result = " + result);//-1



网友评论