chaining double equals ==返回false

时间:2013-11-19 19:45:00

标签: javascript

我有3个文本框,我正在尝试进行一些验证,所有3个值都匹配。我有一个简单的功能:

    function DoesSubsriberSignatureMatch() {
    return tbNameOfSubscriber.GetText() == tbSubscriberSig1.GetText() == tbSubscriberReEnter.GetText();
}

我使用了调试器,至少在Chrome中的Javascript中,“a”==“a”返回true,但“a”==“a”==“a”返回false。

为什么?

3 个答案:

答案 0 :(得分:3)

或许来自Python?大多数语言实际上没有比较链。尝试它会产生无意义的结果。

答案 1 :(得分:3)

因为a == a会产生truetrue != a

(除非a保持值true)。

答案 2 :(得分:3)

"a"=="a"=="a"

并将其分解。首先是

"a" == "a"

等于什么? true。对。现在用true代替第一部分

true == "a"

当然是假的