Javascript中的&& & || |

废弥 于 2014-10-06 发布

1. 逻辑运算 &&和||

这两个运算符在JavaScript中和其他语言表现不同,应该是在JavaScript中的数值除了下面列的几种情况都看做为真吧。

Java 语言

JavaScript 语言

Javascript中表示为false的值: 0、undefined、null和空字符串””

2. &&与&、||与| 的区别

在大部分语言中 & 和 只是位运算(c#中即是逻辑运算又是位运算),但是JavaScript中是逐位运算,只是可以当作逻辑运算用而已。

3. 逐位运算 &和|

由于JavaScript是无类型的语言、各数据类型可以自由转换这一特性决定的,当用&|进行运算时,实际上true被转换成1,false被转换成0,再进行逐位运算。这样产生的结果就和逻辑运算是一样的,但是会做更多的运算处理。

 

ps: 不得不说,Javascript中不注意的话到处都是坑呀。