Javascript中是否有逻辑运算符

DLS*_*DLS 6 javascript

我想知道Javascript中是否有"&"逻辑运算符.我尝试在Firebug(Firefox)中运行1&0和1 && 0,并且两者都返回0.

有人告诉我C#接受&和double &&,double会更有效率,因为它会在遇到false时立即退出比较循环,但我无法找到Javascript的任何信息.

有任何想法吗?

Jos*_*ola 10

No. &按位AND运算符. &&是Javascript中唯一的逻辑AND运算符.

  • 它*就像*一个逻辑"AND"运算符,但与其他语言不同,它不会产生布尔结果值,除非它的操作数是布尔值. (2认同)

Poi*_*nty 5

&&操作者返回0的表达1 && 0,因为其语义比相同运营商的(当然,象征性地相同)的其他类似C语言中的不同.

在JavaScript中,&&操作者强制其操作数到布尔值,但用于评估的目的.表达式的结果

e1 && e2 && e3 ...
Run Code Online (Sandbox Code Playgroud)

是强制布尔值为的第一个子表达式的实际值.如果它们都被强制转换为布尔值,那么结果就是最后一个的实际值.同样,运算符解释如下表达式:enfalsetrueen||

e1 || e2 || e3 ...
Run Code Online (Sandbox Code Playgroud)

通过返回其强制布尔值为的第一个的实际值.如果它们都是假的,则该值是最后一个的实际值.entrue

这些描述中隐含的事实是&&,||只要满足完成条件,就停止评估子表达式.