亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

一個js對象先將其進行JSON.stringify然后進行JSON.parse,得到的對象為什么不和原來的相同?
高洛峰
高洛峰 2016-11-10 15:21:17
0
2
918

如題,這是在node中的執(zhí)行結(jié)果:

bVFkzX.png

或者這樣做的意思何在?有一種說法是去掉屬性引用?那么問題來了,什么是屬性引用?

高洛峰
高洛峰

擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

reply all(2)
學(xué)霸

我們學(xué)過C語言的都知道,對象這種類型被稱為引用類型,所有的引用類型實際為一個指針,因此所有的引用類型均無法直接比較,除非重載等號。

字符串等此類常用對象之所以能進行直接的比較就是因為內(nèi)部重載了等號操作。

正因為引用類型的本質(zhì)的是一個指針,即使內(nèi)容兩個完全相同的對象,存儲的位置也一定不同,因此指針也一定不同。所以此處一定是不同的。

上面有人說通過遍歷比較,這也是不可取的,因為對象的成員也有可能是對象,是沒法這樣比的。

而最簡單的比較方法恰恰就是JSON.stringify,然后比較字符串了。


三叔

肯定不相等啦,json parse相當于一個新的對象啦。對象的判斷是否相等需要遍歷屬性進行比較,即使樓主這樣寫也是不相等的,

var?a={};var?b?=?{};?a==b;?//?false;

比如我們需要clone一個對象時候json.stringfy 然后 parse也是一個選擇。


Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template