SameValue 算法

2018-06-16 15:14 更新

 內(nèi)部嚴(yán)格比較操作 SameValue(x,y),x 和 y 為 ECMAScript 語言中的值,需要產(chǎn)出 true 或 false。比較過程如下:

  1. 如果 Type(x) 與 Type(y) 的結(jié)果不一致,返回 false,否則
  2. 如果 Type(x) 結(jié)果為 Undefined,返回 true
  3. 如果 Type(x) 結(jié)果為 Null,返回 true
  4. 如果 Type(x) 結(jié)果為 Number,則如果 x 為 NaN,且 y 也為 NaN,返回 true如果 x 為 +0,y 為 -0,返回 false如果 x 為 -0,y 為 +0,返回 false如果 x 與 y 為同一個數(shù)字,返回 true返回 false
  5. 如果 Type(x) 結(jié)果為 String,如果 x 與 y 為完全相同的字符序列(相同的長度和相同的字符對應(yīng)相同的位置),返回 true,否則,返回 false
  6. 如果 Type(x) 結(jié)果為 Boolean,如果 x 與 y 都為 true 或 false,則返回 true,否則,返回 false
  7. 如果 x 和 y 引用到同一個 Object 對象,返回 true,否則,返回 false


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號