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就行不通了 思路需要遞迴每個鍵看看對應的值是否一樣。鍵對應的值有兩種可能 如果是基本資料型別 判斷他們的值是否相等就行 如...