如題,這是在node中的執(zhí)行結(jié)果:
或者這樣做的意思何在?有一種說法是去掉屬性引用?那么問題來了,什么是屬性引用?
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
我們學(xué)過C語言的都知道,對象這種類型被稱為引用類型,所有的引用類型實際為一個指針,因此所有的引用類型均無法直接比較,除非重載等號。
字符串等此類常用對象之所以能進行直接的比較就是因為內(nèi)部重載了等號操作。
正因為引用類型的本質(zhì)的是一個指針,即使內(nèi)容兩個完全相同的對象,存儲的位置也一定不同,因此指針也一定不同。所以此處一定是不同的。
上面有人說通過遍歷比較,這也是不可取的,因為對象的成員也有可能是對象,是沒法這樣比的。
而最簡單的比較方法恰恰就是JSON.stringify,然后比較字符串了。
肯定不相等啦,json parse相當于一個新的對象啦。對象的判斷是否相等需要遍歷屬性進行比較,即使樓主這樣寫也是不相等的,
var?a={};var?b?=?{};?a==b;?//?false;
比如我們需要clone一個對象時候json.stringfy 然后 parse也是一個選擇。