js中逻辑运算符|| 的返回值并不只有true和false

来源:互联网 发布:iphone 网络电视 编辑:程序博客网 时间:2024/06/06 01:19

以前我一直认为逻辑运算符的返回值一直是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的就返回该值,遇到为定义的则报错

原创粉丝点击