JavaScript 综合运算 (数字运算符+比较运算符+逻辑运算符)

可能看了之前的文章,有人会疑问,为什么有的会返回fale,比如0,这里需要强调一下,什么情况下,会返回false;当该值为非值(当然我不确定是不是这么叫的)的时候,返回的结果就是false

非值有:0 , false, “”, null, undefind, NaN(not a number)

综合运算顺序: 贴身的(!,++, --) ==>  数字 ==> 比较 ==> 逻辑 ==> 赋值

题目:

var a = 4;
var sum = 1 * (2 + 3)  && a++ || 5 > 6 && 7< 8 || 9;
console.log (sum); //result: 4

解析: 

var sum = 1 * (2 + 3)  && a++ || 5 > 6 && 7< 8 || 9;
    = 1 * (5) && 4 || 5 > 6 && 7 < 8 || 9;
     = 5 && 4||false && true || 9
     = 4 || false || 9 (短路语法)
     = 4 || 9
    = 4
原文地址:https://www.cnblogs.com/ningxin/p/10101599.html