JS判斷兩個變數是否相等

2021-10-01 09:28:51 字數 625 閱讀 2304

js中判斷兩個變數是否相等,是我們經常遇到的問題。今天我要**的問題是如何優雅的比較複雜變數。

以上的方法都只能比較簡單變數,無法比較引用型別變數(如array,object)。如何優雅判斷複雜變數是否相等? 不多廢話,直接上**。

function

isobject

(obj)

function

isequal

(a, b)

else

if(a instanceof

date

&& b instanceof

date

)elseif(

!isarraya &&

!isarrayb)

else

}catch(e

)}elseif(

!isobjecta &&

!isobjectb)

else

}

這個isequal函式可以判斷絕大部分複雜物件 (除了物件中有函式的)

本人是剛入前端的新人。如有錯誤,煩請指正 ?

? 永遠不要拋棄理想, 在前端這條路上,衝吧! ?

js 判斷兩個變數是否相等

判斷兩個變數是否相等是程式設計中非常重要的運算。在處理原始值時,這種運算相當簡單,但涉及物件,任務就稍有點複雜。ecmascript 提供了兩套等性運算子 等號和非等號用於處理原始值,全等號和非全等號用於處理物件。在 ecmascript 中,等號由雙等號 表示,當且僅當兩個運算數相等時,它返回 t...

js 判斷兩個物件是否相等

判斷兩個物件是否相等 isobjectvalueequal function a,b var aprops object.getownpropertynames a var bprops object.getownpropertynames b if aprops.length bprops.len...

js判斷兩個物件是是否相等

用object.is 只能判斷兩個物件應用的位址是不是一樣 如果兩個物件的應用位址不一樣。兩個物件對應的鍵和值是一樣的,應用位址不一樣。那麼這時候判斷兩個物件用object.is就行不通了 思路需要遞迴每個鍵看看對應的值是否一樣。鍵對應的值有兩種可能 如果是基本資料型別 判斷他們的值是否相等就行 如...