我想了解JavaScript身份和相等運算符的怪異行爲,如下所示。JavaScript中的對象比較
var a = {};
var b = {};
a === b; //false
a == b; //false
var c = '';
var d = '';
c === d; //true
c == d; //true
所有四個變量a
,b
,c
和d
都是對象。但是在比較它們時,第一種情況產生錯誤,而第二種情況則爲錯
我研究從以下來源比較:https://msdn.microsoft.com/en-us/library/d53a7bd4(v=vs.94).aspx
根據上述文章,除了數量和布爾一切通過引用而不是值進行比較。那麼第一個案例如何返回錯誤而第二個錯誤是真實的。
'所以第一種情況如何返回true,第二個左右false.'其他方式,第一種是假的,第二個是真正的 –
字符串是原語。歡迎來到美麗的JS世界。 –
可能重複[Is String原始類型或對象在Javascript?](http://stackoverflow.com/questions/7675127/is-string-a-primitive-type-or-object-in-javascript) –