欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS使用JSON.parse(),JSON.stringify()實(shí)現(xiàn)對(duì)對(duì)象的深拷貝功能分析

 更新時(shí)間:2019年03月06日 11:50:28   作者:白楊-M  
這篇文章主要介紹了JS使用JSON.parse(),JSON.stringify()實(shí)現(xiàn)對(duì)對(duì)象的深拷貝功能,結(jié)合實(shí)例形式分析了JSON.parse()與JSON.stringify()方法實(shí)現(xiàn)深拷貝的相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了JS使用JSON.parse(),JSON.stringify()實(shí)現(xiàn)對(duì)對(duì)象的深拷貝功能。分享給大家供大家參考,具體如下:

根據(jù)不包含引用對(duì)象的普通數(shù)組深拷貝得到啟發(fā),不拷貝引用對(duì)象,拷貝一個(gè)字符串會(huì)新辟一個(gè)新的存儲(chǔ)地址,這樣就切斷了引用對(duì)象的指針聯(lián)系。

測(cè)試?yán)樱?/p>

var test={
  a:"ss",
  b:"dd",
  c:[
    {dd:"css",ee:"cdd"},
    {mm:"ff",nn:"ee"}
  ]
};
var test1 = JSON.parse(JSON.stringify(test));//拷貝數(shù)組,注意這行的拷貝方法
console.log(test);
console.log(test1);
test1.c[0].dd="change"; //改變test1的c屬性對(duì)象的d屬性
console.log(test); //不影響test
console.log(test1);

測(cè)試結(jié)果:

根據(jù)測(cè)試結(jié)果,我們可以看到,test1已經(jīng)從test復(fù)制一份,并且test1改變其中屬性的值時(shí),對(duì)原來(lái)的對(duì)象test沒(méi)有造成影響。

JSON.parse(),JSON.stringify()兼容性問(wèn)題

可以通過(guò)為IE7以及IE7以下版本的IE瀏覽器引入json2.js,使用json2.js來(lái)解決JSON的兼容性問(wèn)題

<!--[if lt IE 7]>
<script src="具體放路徑/json2.js"></script> 
<![endif]-->

json2.js的github地址為:https://github.com/douglascrockford/JSON-js

好了,到這里就實(shí)現(xiàn)了,使用JSON.parse(),JSON.stringify()對(duì)對(duì)象的深拷貝~~

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論