Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript语法:a!=百安居酒店&;(c=b)_Javascript_Syntax - Fatal编程技术网

Javascript语法:a!=百安居酒店&;(c=b)

Javascript语法:a!=百安居酒店&;(c=b),javascript,syntax,Javascript,Syntax,我不是JavaScript的真正大师。 我看到了这个语法: a!=b&&(c=b) 有人能给我解释一下吗 提前感谢如果a不等于b,则将b分配给c 如果左侧不是true如果a!=b,将b分配给c,如果c是真实的,则返回c。如果变量a不等于变量b,则将变量b分配给变量c它应该写成: if (a != b) { c = b; } 代码使用&&运算符的短路进行流量控制(即,只有当第一部分为真时才计算表达式的第二部分),然后它使用赋值也是表达式的事实,以便能够在表达式中进行赋值,并忽略表达式的值。在

我不是JavaScript的真正大师。 我看到了这个语法:
a!=b&&(c=b)
有人能给我解释一下吗


提前感谢如果
a
不等于
b
,则将
b
分配给
c


如果左侧不是
true

如果
a!=b
,将
b
分配给
c
,如果
c
是真实的,则返回
c

如果变量
a
不等于变量
b
,则将变量
b
分配给变量
c

它应该写成:

if (a != b) {
  c = b;
}

代码使用
&&
运算符的短路进行流量控制(即,只有当第一部分为真时才计算表达式的第二部分),然后它使用赋值也是表达式的事实,以便能够在表达式中进行赋值,并忽略表达式的值。

在您的示例中,结果将是if
a!=b
然后将
b
分配给
c
。不处理
c
是否真实的评估(在本例中)

由于操作员短路,此语句的工作原理类似于一个简短的
if
语句


当使用逻辑AND时,这意味着如果AND的左侧为false,则不会计算AND的右侧。因此,逻辑AND可以被滥用,形成一种简短的
if
语句。对于逻辑OR也会发生相反的情况,如果左侧的计算结果为
true
,则不会计算右侧(因为它不会改变整体结果)。在C、JavaScript和Java等语言中,您会发现这种运算符短路的怪癖。

最基本的教程将告诉您。。。虽然,这可能是一个输入错误?抱歉,但我写了一点代码,我从来没有看到一个合乎逻辑的
来表示某种if。。。如果你能给我链接一个你能找到的教程,我将不胜感激!查看
短路评估
。感谢您的帮助!(我也感谢其他人……)