对于下面这些条件表达式之间的区别,我有点困惑:
if( 1 == a) {
//something
}
和
if( a == 1 ) {
//something
}
我在我下载的一些脚本中看到了上面的那个,我想知道它们之间有什么区别。
对于下面这些条件表达式之间的区别,我有点困惑:
if( 1 == a) {
//something
}
和
if( a == 1 ) {
//something
}
我在我下载的一些脚本中看到了上面的那个,我想知道它们之间有什么区别。
该constant == variable
语法通常用于避免错误输入==
为=
. 当然,当你有constant == function_call_retuning_nothing_modifiable
.
除此之外没有区别,除非您有一些奇怪的运算符覆盖。
许多编程语言允许将赋值a = 1
用作表达式,从而使以下代码在语法上有效(假设整数可用于条件,例如在 C 或许多脚本语言中):
if (a = 1) {
// something
}
这是很少需要的,并且可能导致意外行为。如果1 == a
使用,则不会发生此错误,因为1 = a
它是无效的。
好吧,我不确定这个技巧。一般来说,我们可以说等号是可交换的。因此,a = b 意味着 b = a。但是,当您有 == 或 === 时,这在某些情况下不起作用,例如当您在右侧有一个范围时:5 === (1..10) vs. (1..10) === 5。
前者被创造了一个尤达条件。
使用 if(constant == variable) 而不是 if(variable == constant),例如 if(1 == a)。因为这就像说“如果天空是蓝色的”或“如果男人是高的”。