首頁  >  文章  >  web前端  >  為什麼它; LT;傳回 true 但 gt; > > JavaScript 中回傳 false?

為什麼它; LT;傳回 true 但 gt; > > JavaScript 中回傳 false?

WBOY
WBOY原創
2024-08-21 06:05:02761瀏覽

Why does lt; lt; eturn true but gt; gt; eturn false in JavaScript?

嘿,JavaScript 粉絲!您是否曾經遇到過這樣的時刻:您的程式碼做了一些奇怪的事情,而您卻摸不著頭腦?好吧,今天我為你準備了一份好東西。

看看這個:

console.log(1 < 2 < 3);  // true
console.log(3 > 2 > 1);  // false

等等,什麼?第二個是假的?但是3大於2,2又大於1,對嗎?那麼這是怎麼回事?

讓我們來分解一下:

  1. JavaScript 從左到右讀取這些比較。
  2. 對於 1
  3. 首先,它 1
  4. 那麼它確實是
  5. 3人份> 2> 1:
    • 首先,它執行 3 > > 2. 確實如此。
    • 那麼它確實是> 1.

現在,重點來了:當 JavaScript 將 true 與數字進行比較時,它會將 true 變為 1。

所以真正發生的是:

  1. 真實
  2. 真實> 1變成1> 1,這是錯誤的。

這就是為什麼我們第一個為 true,第二個為 false。

瘋了,對吧?

那麼,我們可以從中學到什麼?當你進行多重比較時,最好是清楚的。而不是 3> 2> 1,你可以寫(3 > 2) && (2 > 1)。雖然有點長,但至少達到了你的期望。

以上是為什麼它; LT;傳回 true 但 gt; > > JavaScript 中回傳 false?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn