有人可以用 0 解釋空比較嗎
null > 0 // false
null == 0 // false
null > 0 || null == 0 // false
null >= 0 // true
為什么會這樣?
uj5u.com熱心網友回復:
原因是相等檢查 == 和比較 > < >= <= 的作業方式不同。比較將 null 轉換為數字,將其視為 0。這就是為什么 null >= 0 為真而 null > 0 為假的原因。
另一方面,對 undefined 和 null 的相等性檢查 == 被定義為,在沒有任何轉換的情況下,它們彼此相等并且不等于其他任何東西。這就是為什么 null == 0 是錯誤的。
資料來源:比較
uj5u.com熱心網友回復:
在 Javascript 中,null 不等于 0,而是等于 undefined。
null == undefined // true
還 :
奇怪的結果:null vs 0
讓我們將 null 與零進行比較:
警報(空> 0);// (1) 誤報
( null == 0 ); // (2) 錯誤
警報( null >= 0 ); // (3) 真從數學上講,這很奇怪。最后一個結果表明“null 大于或等于零”,因此在上面的其中一個比較中它必須為真,但它們都是假的。
原因是相等檢查 == 和比較 > < >= <= 的作業方式不同。比較將 null 轉換為一個數字,將其視為 0。這就是為什么 (3) null >= 0 為真而 (1) null > 0 為假的原因。
另一方面,對 undefined 和 null 的相等性檢查 == 被定義為,在沒有任何轉換的情況下,它們彼此相等并且不等于其他任何東西。這就是為什么 (2) null == 0 是錯誤的。
比較
uj5u.com熱心網友回復:
你可以參考這個答案
或檢查此程序。https://262.ecma-international.org/5.1/#sec-11.8.5
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491804.html
標籤:javascript 节点.js
