Javascript - 单个语句中是否可以有3个或更多'==='?

时间:2013-12-29 06:08:48

标签: javascript if-statement operator-keyword

所以,例如,

function myFunction() {
    if(var_1 === var_2 === var_3 === var_4) {
        return true;
    } else {
        return false;
    }
}

时返回true或false
var_1 = true;
var_2 = true;
var_3 = true;
var_4 = true;

此外,

时函数'myFunction'会返回什么
var_1 = false;
var_2 = false;
var_3 = false;
var_4 = false;

var_1 = "abc";
var_2 = "abc";
var_3 = "abc";
var_4 = "abc";

非常感谢!

3 个答案:

答案 0 :(得分:3)

不,因为第一个===将等同于true(或false),并且不会等于下一个变量。

因此var_1 === var_2可以是truefalse

然后将结果与此var_3的{​​{1}}进行比较。这给出了真或假的结果。然后将第二个结果与true/false === var_3进行比较。

根据您的测试,这将是var_4

true

我认为这不是你想要的:)

答案 1 :(得分:2)

具有三个变量的情况将更容易使用。它将被解释为:

(a == b) == c

将是:

(some boolean) == c

这可能不是你打算发生的事情。要解决这个问题,请使用相等的及物性:

(a == b) && (b == c)

答案 2 :(得分:-1)

在所有3个条件中,该函数将返回true ..

是的,单个陈述中可以有3'==='