以前我一直认为逻辑运算符的返回值一直是true或者false,其实根本就没考虑过它又返回值,一直是在if判断语句中作为一个条件使用,只是为了能让条件正确与否进入if语句。根本就没用到逻辑运算符的返回值。
现在写一个简单的alert()语句来测试逻辑或的返回值
1. alert(num||1);
这是它不会有提示框弹出,因为num是一个未定义的变量,遇到未定义的变量是会报错的
2. var num;
alert(num||1);
这时它会弹出框,输出1 ,也就是逻辑或对于已经定义的变量是可以执行不会报错的。
3. var num=0;
alert(num||1);
这时输出1
4. var num=3;
alert(num||1);
这时输出3
5. var num=true;
alert(num||1);
这时输出true
总结:逻辑或的返回值计算,先从表达式的左侧判断,只要判断到有非0非false的就返回该值,遇到为定义的则报错