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。
浙公网安备 33010602011771号