有a&;Javascript中的逻辑运算符

有a&;Javascript中的逻辑运算符,javascript,Javascript,我想知道Javascript中是否有一个“&”逻辑运算符。我尝试在Firebug(Firefox)中运行1&0和1&0,但它都返回了0 有人告诉我C#同时接受&和double&,double更有效,因为一旦遇到false,它就会退出比较循环,但我找不到关于这方面的任何Javascript信息 有什么想法吗?没有。&是操作员&是Javascript中唯一的逻辑AND运算符。否。&是运算符&&是Javascript中唯一的逻辑AND运算符。是。Javascript兼有这两种功能 与C#中的情况完全一

我想知道Javascript中是否有一个“&”逻辑运算符。我尝试在Firebug(Firefox)中运行1&0和1&0,但它都返回了0

有人告诉我C#同时接受&和double&,double更有效,因为一旦遇到false,它就会退出比较循环,但我找不到关于这方面的任何Javascript信息


有什么想法吗?

没有。
&
是操作员
&
是Javascript中唯一的逻辑AND运算符。

否。
&
是运算符
&&
是Javascript中唯一的逻辑AND运算符。

是。Javascript兼有这两种功能


与C#中的情况完全一样,双版本和(&V)在遇到false时可以立即停止,而单版本和(&V)可能不会停止。

是。Javascript兼有这两种功能


与C#中的情况完全一样,双版本&&version可以在遇到false时立即停止,而单版本&&version可能不会停止。

&&是Javascript中的逻辑运算符。1&&0应返回false,以便正确执行

&&是Javascript中的逻辑运算符。1&&0应返回false,以便正确执行

1&0等于0

它是位运算符,不是逻辑运算符

&&表示左右运算符的逻辑AND。这意味着只有当左操作符和右操作符都解析为布尔真时,它才会返回布尔真值

&表示左右运算符的按位AND。这意味着将比较每个操作数的位,结果将是and值,而不是布尔值。如果执行
101&100
操作,则返回值为
100
。如果执行
1&0
,则返回值为
0

如果有人告诉你这两个操作符的区别仅仅在于效率,那么你就被误导了。它们有非常不同的用途。

1&0是0

它是位运算符,不是逻辑运算符

&&表示左右运算符的逻辑AND。这意味着只有当左操作符和右操作符都解析为布尔真时,它才会返回布尔真值

&表示左右运算符的按位AND。这意味着将比较每个操作数的位,结果将是and值,而不是布尔值。如果执行
101&100
操作,则返回值为
100
。如果执行
1&0
,则返回值为
0


如果有人告诉你这两个操作符的区别仅仅在于效率,那么你就被误导了。它们有非常不同的用途。

Javascript有按位(&)和布尔(&&)运算符。在1&&0上&&0返回0的原因是0将指示false,因此1(true)和&0(false)返回false,因为两个运算符都必须求值为true才能返回true

Javascript具有按位(&)和布尔(&&)运算符。在1&&0上返回0的原因是0表示false,因此1(true)和&0(false)返回false,因为两个运算符必须求值为true才能返回true

表达式
1&&0
运算符返回
0
,因为其语义不同于同一运算符的语义(好的,符号上是一样的)在其他类似C语言中

在Javascript中,
&&
运算符将其操作数强制为布尔值,但仅用于求值

e1 && e2 && e3 ...
是第一个子表达式
en
actual值,其强制布尔值为
false
。如果强制为布尔值时它们都是
true
,则结果是最后一个
en
actual值。类似地,
|
运算符解释如下表达式:

e1 || e2 || e3 ...
通过返回强制布尔值为
true
的第一个
en
actual值。如果它们都为false,则该值为最后一个actual


这些描述中隐含的事实是,
&&
|
一旦满足子表达式的完成条件,就停止对其求值。

由于其语义不同于同一运算符的语义,因此
&&
运算符返回表达式
1&&0
0
(好的,符号上是一样的)在其他类似C语言中

在Javascript中,
&&
运算符将其操作数强制为布尔值,但仅用于求值

e1 && e2 && e3 ...
是第一个子表达式
en
actual值,其强制布尔值为
false
。如果强制为布尔值时它们都是
true
,则结果是最后一个
en
actual值。类似地,
|
运算符解释如下表达式:

e1 || e2 || e3 ...
通过返回强制布尔值为
true
的第一个
en
actual值。如果它们都为false,则该值为最后一个actual


这些描述中隐含的一个事实是,
&&
|
一旦满足子表达式的完成条件,就停止计算它们。

您的朋友对C的看法是错误的

C#不混合逻辑运算符和位运算符,因此不能使用&where&&或反之亦然

1&0返回0

true&&false返回false


所以,如果你在写一个if语句,它需要一个布尔值,你必须使用&。如果你在做位运算,那么你需要&。

你的朋友对C的看法是错误的

C#不混合逻辑运算符和位运算符,因此不能使用&where&&或反之亦然

1&0返回0

true&&false返回false

所以如果你