js中的&&和||详解

首先了解一下js中的true和false:

以下内容会被当成false处理:"" , false , 0 , null , undefined ,NaN ,其他都是true。

那么:

 

a || b:如果a是true,那么b不管是true还是false,都返回true。因此不用判断b了,这个时候刚好判断到a,因此返回a。

   如果a是false,那么就要判断b,如果b是true,那么返回true,如果b是false,返回false,其实不就是返回b了吗。

a && b:如果a是false,那么b不管是true还是false,都返回false,因此不用判断b了,这个时候刚好判断到a,因此返回a。

   如果a是true,那么就要在判断b,和刚刚一样,不管b是true是false,都返回b。

 

同样在做运算时需要注意在js中&&运算符的优先级是要高于||的。

总结:a || b,如果a不存在,则返回b。a && b,如果a存在,则返回b,否则返回a。

 

posted on 2019-10-09 10:02  活在当下zql  阅读(478)  评论(0)    收藏  举报