通俗的理解js中的&&和||
js中的&&和||本质是什么呢?
进行布尔值的且和或的运算。当运算到某一个变量就得出最终结果之后,就返回哪个变量。
在javascript中:
以下内容会被当成false处理:"" , false , 0 , null , undefined , NaN
其他都是true。注意:字符串"false"也会被当做true处理,在未转型的情况下他是字符串,属于一个对象,所以是true。
所以:
a || b:
如果a的结果是true,那么b不管的结果是true还是false,都返回true。因此不用判断b了。
如果a的结果是false,那么就要判断b,如果b是true,那么返回true,如果b是false,返回false,其实不就是返回b了吗。
a && b:
如果a的结果是false,那么b的结果不管是true还是false,都返回false,因此不用判断b了。
如果a的结果是true,那么就要在判断b,和刚刚一样,不管b是true是false,都返回b。
结论:
a&& b :如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行;
a || b :如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值;
&& 优先级高于 ||;
版权声明:本文由 LzxBlog 发布,如需转载请注明出处。