Javascript语法:a!=百安居酒店&;(c=b)
我不是JavaScript的真正大师。 我看到了这个语法: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; } 代码使用&&运算符的短路进行流量控制(即,只有当第一部分为真时才计算表达式的第二部分),然后它使用赋值也是表达式的事实,以便能够在表达式中进行赋值,并忽略表达式的值。在
a!=b&&(c=b)代码>
有人能给我解释一下吗
提前感谢如果a
不等于b
,则将b
分配给c
如果左侧不是true
如果a!=b
,将b
分配给c
,如果c
是真实的,则返回c
。如果变量a
不等于变量b
,则将变量b
分配给变量c它应该写成:
if (a != b) {
c = b;
}
代码使用&&
运算符的短路进行流量控制(即,只有当第一部分为真时才计算表达式的第二部分),然后它使用赋值也是表达式的事实,以便能够在表达式中进行赋值,并忽略表达式的值。在您的示例中,结果将是ifa!=b
然后将b
分配给c
。不处理c
是否真实的评估(在本例中)
由于操作员短路,此语句的工作原理类似于一个简短的if
语句
当使用逻辑AND时,这意味着如果AND的左侧为false,则不会计算AND的右侧。因此,逻辑AND可以被滥用,形成一种简短的if
语句。对于逻辑OR也会发生相反的情况,如果左侧的计算结果为true
,则不会计算右侧(因为它不会改变整体结果)。在C、JavaScript和Java等语言中,您会发现这种运算符短路的怪癖。最基本的教程将告诉您。。。虽然,这可能是一个输入错误?抱歉,但我写了一点代码,我从来没有看到一个合乎逻辑的和来表示某种if。。。如果你能给我链接一个你能找到的教程,我将不胜感激!查看短路评估
。感谢您的帮助!(我也感谢其他人……)