Math.min() < Math.max()
返回 true
。
原因如下:
-
Math.min()
沒有引數時返回Infinity
:Math.min()
試圖找到提供的數字中最小的一個。當沒有提供任何數字時,它返回Infinity
,因為任何數字都小於Infinity
。 這就像設定一個初始的“最小值”為無限大,然後嘗試找到比它更小的數字。由於沒有提供數字,Infinity
保持不變。 -
Math.max()
沒有引數時返回-Infinity
:Math.max()
的行為與Math.min()
相反。它試圖找到提供的數字中最大的一個。當沒有提供任何數字時,它返回-Infinity
,因為任何數字都大於-Infinity
。 這就像設定一個初始的“最大值”為負無限大,然後嘗試找到比它更大的數字。由於沒有提供數字,-Infinity
保持不變。 -
Infinity > -Infinity
: 正無窮大永遠大於負無窮大。
因此,Math.min() < Math.max()
等價於 Infinity < -Infinity
,這顯然是錯誤的。 正確的比較是 Infinity > -Infinity
,所以結果是 true
。
在實際的前端開發中,很少會直接使用沒有引數的 Math.min()
和 Math.max()
。通常情況下,你會提供至少一個引數。 如果你確實遇到了沒有引數的情況,並且這個比較的結果很重要,請務必理解其背後的邏輯,以免產生意外的結果。 最好避免這種容易引起誤解的寫法,並明確提供引數給 Math.min()
和 Math.max()
。