爲什麼(9 > 8) === true
導致「true
」,但(10>9>8) === true
導致「false
」?JavaScript中的身份運算符如何工作?
0
A
回答
2
您應該只有一個比較運算符而不使用AND(& &)或OR(||)運算符。
如果你想(10> 9> 8)解析爲真實的,你會格式化這樣的:
(10> 9 & & 9> 8)
此說「檢查10> 9,如果這是真的,檢查9> 8。如果他們都是真實的,返回true」
3
因爲:
10 > 9 > 8 === (true) > 8
哪個是假的。在truthy值中,真值被表示爲「1」。由於true > 0
和false < 1
。
7
如果我們看到兩者,JavaScript會從左到右執行。衆所周知:
(9 > 8) === true
上述說法的確如此。但是我們需要知道的是,JavaScript如何執行此操作。如果我們看到它是如何執行的,執行步驟如下:
(10 > 9 > 8) === true
((10 > 9) > 8) === true
(true > 8) === true
(1 > 8) === true
false === true
false
相關問題
- 1. JavaScript按位運算符如何工作?
- 2. Swift中的身份運算符
- 3. 字符串上的JavaScript身份運算符
- 4. 重載身份運算符的目的
- 5. JavaScript中的否定運算符?它是如何工作的?
- 6. Javascript中的逗號運算符如何工作?
- 7. ::運算符如何在Ruby中工作?
- 8. 模運算符是如何工作的?
- 9. '&'運算符是如何工作的?
- 10. Java運算符是如何工作的?
- 11. JavaScript比較運算符:身份與平等
- 12. JavaScript比較運算符不工作
- 13. JavaScript增量運算符不工作?
- 14. 運算符重載如何爲賦值運算符工作?
- 15. Java運算符 - >如何==運算符工作
- 16. 按位運算符如何工作?
- 17. 'in'運算符如何爲Python工作?
- 18. python:運算符%和[::]如何工作?
- 19. 「條件」(?:)運算符是否像JavaScript一樣在JavaScript中工作?
- 20. 算術運算符在Python中如何工作?
- 21. 相互身份驗證如何工作
- 22. 身份限制如何工作?
- 23. Prolog'=='運算符不工作?
- 24. javascript的字符串比較和比較運算符不工作?
- 25. 按位和運算符如何在JavaScript中的對象上工作?
- 26. 比較運算符==不工作,我如何使它工作? [CPP]
- 27. 如何在python的字符串布爾運算符的工作
- 28. javascript中的點運算符
- 29. JavaScript中的ezurl運算符
- 30. 「=〜」運算符如何在Ruby的「IF」塊中工作?
您的語句無效(10> 9> 8)被編譯爲((10> 9)> 8),它是(true> 8)。建議在js中使用1。 (1> 8)爲假 –
first:(true)=== true second:(true> 8)=== true - > true - 轉換爲1,1> 8 = false,false === true - > false 。我認爲.... :) – sinisake