Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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三重相等和三变量比较_Javascript_Triple Equals - Fatal编程技术网

JavaScript三重相等和三变量比较

JavaScript三重相等和三变量比较,javascript,triple-equals,Javascript,Triple Equals,有人能解释一下吗 1 == 1 //true, as expected 1 === 1 //true, as expected 1 == 1 == 1 //true, as expected 1 == 1 == 2 //false, as expected 1 === 1 === 2 //false, as expected 1 === 1 === 1 //false? <-- 1==1//true,如预期 1===1//true,如预期 1==1==1

有人能解释一下吗

1 == 1        //true, as expected
1 === 1       //true, as expected
1 == 1 == 1   //true, as expected
1 == 1 == 2   //false, as expected
1 === 1 === 2 //false, as expected
1 === 1 === 1 //false? <--
1==1//true,如预期
1===1//true,如预期
1==1==1//true,如预期
1==1==2//false,如预期
1===1===2//false,如预期
1===1===1//false 这句话:

1 === 1 === 1
评估结果如下:

(1 === 1) === 1
对括号内的表达式求值后:

true === 1
这个表达式在逻辑上是错误的。下面的表达式按预期返回
true

1 === 1 === true
平等是一种挑战

因此:

以及:


哈哈,应该多测试一点:
5==5
也是假的,但是因为
1==true
我在使用
1==1
的例子时被绊倒了+1谢谢!还有一个问题:我能做我想做的事情而不需要一个冗长的表达式吗(比如
x==y&&y==z&&x==z
)?@DuncanNZ总是涉及三个变量吗?是的-基本上我需要检查三个字符串是否都等于eachother@vsync通常,比较N个不同变量是否相等(N>1)你需要N-1比较。
1 == 1 == 1
true == 1
true
1 === 1 === 1
true === 1
false // because triple-equals checks type as well