版权声明:哼!坏人!这是我辛辛苦苦码的! https://blog.csdn.net/DurianPudding/article/details/86525144
参考:https://www.cnblogs.com/sgzs/p/7977208.html
基本原理:
JS中的布尔运算符运算当运算到某个变量就能得到最终结果时,就不进行后面的运算。
分析:
a || b
如果a为true
,不管b是false还是true,结果都为true,即a。则不需要判定b,直接返回a;
如果a为false
,则需要判定b,如果b是false就是false,b是true就是true,也就是返回b。
a && b
如果a为true
,则需要判定b,如果b是false就是false,b是true就是true,也就是返回b;
如果a为false
,不管b是false还是true,结果都为,即a。则不需要判定b,直接返回a。
JS中当做false处理的:
"" false 0 null undefined NaN
其他都是true。注意:字符串"false"也会被当做true处理,在未转型的情况下他是字符串,属于一个对象,所以是true。