js中 與 以及不同型別的值的比較

2022-09-06 12:03:23 字數 867 閱讀 7230

1、對於string,number等基礎型別,==和===是有區別的

a、不同型別間比較,==之比較「轉化成同一型別後的值」看「值」是否相等,===如果型別不同,其結果就是不等

b、同型別比較,直接進行「值」比較,兩者結果一樣

2、對於array,object等引用型別,==和===是沒有區別的

進行「指標位址」比較

3、基礎型別與引用型別,==和===是有區別的

a、對於==,將引用型別轉化為基礎型別,進行「值」比較

b、因為型別不同,===結果為false

"" == ""          //

true // 基礎型別比較

== //

false //引用型別比較 相當於new array() 兩個array指向的位址是不一樣的

new string() == new string() //

false

"" == 0 //

true

"" == //

true

== 0 //

true

{} == 0 //

uncaught syntaxerror: unexpected token ==

0 =={} //

false

new object() == 0 //

false

{} =={} //

false

js中不同型別作比較

示例 doctype html html head meta charset utf 8 meta name viewport content width device width,initial scale 1 title title head body body script 0 和 和 和 f...

不同型別變數與零值比較

1 布林變數與零值比較 不可將布林變數直接與 true false 或者 1 0 進行比較。根據布林型別的語義,零值為 假 記為 false 任何非零值都是 真 記為true true 的值究竟是什麼並沒有統一的標準。例如 visual c 將 true 定義為 1,而 visual basic 則...

不同型別的資料進行比較

參考5.built in types中的說明,cpython按照如下規則進行比較 自己的總結 任何兩個物件都可以比較 相同型別的物件 例項 如果是數字型 int float long complex 則按照簡單的大小來比較 如果是非數字型,且類 型 中定義了 cmp 含 gt lt 等 則按照 cm...