最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript和jQuery的深淺拷貝詳解

 更新時(shí)間:2022年02月22日 15:35:37   作者:王昭沒有君啊  
這篇文章主要為大家詳細(xì)介紹了Javascript和jQuery的深淺拷貝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

深淺拷貝在引用數(shù)據(jù)類型(數(shù)組對象)復(fù)制過程中產(chǎn)生的問題。

JS的淺拷貝

直接復(fù)制拷貝的是數(shù)組/對象的內(nèi)存地址,本質(zhì)上是一個(gè)引用數(shù)據(jù)類型,所有的變量存儲的是相同的內(nèi)存地址,操作的是同一個(gè)存儲空間,任意一個(gè)變量的操作,其他變量都會受影響。如下所示:

const arr1 = ['北京', '上海', '廣州', '深圳', '武漢'];
const arr2 = arr1;
console.log(arr1);
console.log(arr2);

變量arr1中存儲的是數(shù)組的內(nèi)存地址,淺拷貝是將變量arr1中存儲的數(shù)組的內(nèi)存地址賦值給變量arr2存儲,也就是變量arr2和變量arr1存儲的是相同的內(nèi)存地址,通過其中一個(gè)變量操作數(shù)組,另一個(gè)變量也受影響,將arr1里的北京改為天津,那么arr2里的北京也就變成了天津。

JS的深拷貝

復(fù)制拷貝的是數(shù)組/對象存儲的數(shù)值數(shù)據(jù),本質(zhì)上執(zhí)行幾次深拷貝就有幾個(gè)獨(dú)立的引用數(shù)據(jù)類型,存儲的是不同的內(nèi)存地址,操作的是不同的存儲空間,一個(gè)變量操作引用數(shù)據(jù)類型對其他變量沒有影響,如下所示:

const arr1 = ['北京', '上海', '廣州', '深圳', '武漢'];
//創(chuàng)建一個(gè)新的引用數(shù)據(jù)類型
const arr3 = [];
//循環(huán)遍歷arr1將arr1中的存儲獲取之后,存儲到arr3中
arr1.forEach(item => {
   arr3.push( item );
})

arr3是新的內(nèi)存地址,只是存儲的數(shù)據(jù)數(shù)值和arr1相同,arr1的操作是arr1內(nèi)存地址對應(yīng)的存儲空間,和arr3的存儲空間沒有關(guān)系,也沒有影響。arr1里的上海改為成都,arr3里面的數(shù)值 不發(fā)生任何變化,所以,修改arr3里的數(shù)據(jù),arr1里也同樣沒有變化。

jQuery的深淺拷貝

jQuery中的深淺拷貝比較特殊

1、jQuery中沒有封裝傳統(tǒng)意義上的淺拷貝的函數(shù)

2、jQuery中封裝的$.extend()默認(rèn)執(zhí)行的就是傳統(tǒng)意義上的深拷貝

3、jQuery中的所謂的深淺拷貝,指的是 一維數(shù)據(jù)  深拷貝,二維數(shù)據(jù)  淺拷貝

4、jQuery中深淺拷貝的語法形式

const 變量 = 數(shù)組/對象;
$.extend(變量 , 原始數(shù)組/對象);
//淺拷貝,一維數(shù)據(jù) 深拷貝,多維數(shù)據(jù)  淺拷貝
$.extend(true, 變量, 原始數(shù)組/對象);
//深拷貝,一維數(shù)據(jù) 多維數(shù)據(jù) 都是深拷貝

如下所示:

//原始數(shù)組
const arr1 = ['北京' , '上海' , '廣州' , '深圳' , '武漢' , [100,200,300,400] , {name:'王昭沒有君啊' , age:22 , sex:'男'} ];
//jQuery的淺拷貝
//創(chuàng)建一個(gè)arr2
const arr2 = [];
//將arr1中的數(shù)據(jù)按照jQuery的淺拷貝語法復(fù)制到arr2中
//執(zhí)行的是jQuery的淺拷貝
$.extend( arr2 , arr1 );
//創(chuàng)建一個(gè)arr2
const arr3 = [];
//將arr1中的數(shù)據(jù)按照jQuery的深拷貝語法復(fù)制到arr3中
//執(zhí)行的是jQuery的深拷貝
$.extend(true, arr3, arr1);

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!      

相關(guān)文章

最新評論

高陵县| 信丰县| 房山区| 吉首市| 彩票| 山东省| 八宿县| 明星| 石家庄市| 宝山区| 台南市| 谢通门县| 佛冈县| 徐汇区| 肃北| 巴塘县| 新兴县| 浦城县| 化隆| 宾阳县| 沁源县| 宜宾县| 同江市| 永胜县| 额尔古纳市| 孝昌县| 花莲市| 海宁市| 冀州市| 合山市| 油尖旺区| 湘阴县| 麦盖提县| 灵宝市| 云南省| 喀喇沁旗| 合山市| 五家渠市| 宜丰县| 丽江市| 锡林浩特市|