(0 <= 0 <= 0) === false
(-1 < 0 <= 0 <= 0) === true
這是怎麼回事?在一些情況下,JavaScript實際上是否存在不平等鏈接?Javascript chained inequality給出奇怪的結果
(0 <= 0 <= 0) === false
(-1 < 0 <= 0 <= 0) === true
這是怎麼回事?在一些情況下,JavaScript實際上是否存在不平等鏈接?Javascript chained inequality給出奇怪的結果
鍵入問題,然後被答覆打擊。 Javascript沒有不等式鏈接。相反,0 <= 0 <= 0
變成true <= 0
,其被評估爲1 <= 0
。的確,0 < 0 <= 0
評估爲true
。
操作員沒有鏈接,但是precedence。這裏所有的操作員都有相同的優先級,所以操作從左到右進行。
當你比較涉及一個布爾值,the MDN explains how the comparison works:
如果一個操作數是布爾型,布爾操作數轉換爲 1,如果它是真實的,+ 0,如果它是假的。
這意味着所述第一操作是根據優先級分解爲
((0 <= 0) <= 0)
是
true <= false
是
false
,第二個是
(true <= 0) <= 0
是
false <= 0
這是true
。
啊,你是對的菲利克斯。對於那個很抱歉;我在發帖之前搜索了一段時間,但沒有看到那一個。作爲另一方,我有沒有辦法直接將其作爲副本關閉? – 2013-03-18 21:44:26