-
&& || 非布尔值的情况
* - 对于非布尔值进行与或运算时,
* 会向将其转换为布尔值,然后再运算
* -与运算:(返回的是值,不是true或false)
* -如果第一个值为true,则返回后边的
* -如果第一个值为false,则直接返回第一个值
*
* -或运算:
* -如果第一个是true,则直接返回第一个值;
* -如果第一个是false,则直接返回第二个值;
*/
//true&&true
//与运算:如果两个都是true,则会返回后边的
var result = 1&&2;
//与运算如果两个值中有false,则返回靠前的falseconsole.log("result = "+result); //false && true result = 0&&2; result = 2&&0; //false&&false result = NaN &&0; result = 0 && NaN; console.log("result = "+result); //true || true //如果第一个值为true,则直接返回第一个值 result = 2||1; result1 = 2 || NaN; result2 = 2 || 0; console.log("result = "+result); console.log("result1 = "+result1); console.log("result2 = "+result2); //false || xxx result = 0 || 1; result1 = NaN || NaN; result2 = 0 || 0; result3 = "" || "hello"; result4 = -1 ||"你好" console.log("result = "+result); console.log("result1 = "+result1); console.log("result2 = "+result2); console.log("result3 = "+result3); console.log("result4 = "+result4);
控制台运行结果:
[Web浏览器] “result = 2” /初级教程03/03非布尔值的与或运算.html (24)
[Web浏览器] “result = 0” /初级教程03/03非布尔值的与或运算.html (33)
[Web浏览器] “result = 2” /初级教程03/03非布尔值的与或运算.html (41)
[Web浏览器] “result1 = 2” /初级教程03/03非布尔值的与或运算.html (42)
[Web浏览器] “result2 = 2” /初级教程03/03非布尔值的与或运算.html (43)
[Web浏览器] “result = 1” /初级教程03/03非布尔值的与或运算.html (52)
[Web浏览器] “result1 = NaN” /初级教程03/03非布尔值的与或运算.html (53)
[Web浏览器] “result2 = 0” /初级教程03/03非布尔值的与或运算.html (54)
[Web浏览器] “result3 = hello” /初级教程03/03非布尔值的与或运算.html (55)
[Web浏览器] “result4 = -1” /初级教程03/03非布尔值的与或运算.html (56)