第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師,我用你的淺拷貝的方式,但是不對啊,打印出來兩個對象不一樣,按說淺拷貝打印出來是一樣的,您幫我看一眼

http://img1.sycdn.imooc.com//61d690be0001f61502590316.jpg老師,我用你的淺拷貝的方式,但是不對啊,打印出來兩個對象不一樣,按說淺拷貝打印出來是一樣的,您幫我看一眼

正在回答

4 回答

你改變的值是字符串屬于原始數據類型,打印出來當然不一樣啦,改變對象里面的值打印出來是一樣的

0 回復 有任何疑惑可以回復我~
#1

qq_憶擱淺_6

需要搞清楚原始類型和引用類型,也就是堆和棧,
2022-09-21 回復 有任何疑惑可以回復我~

因為你的a/b是基本類型,這位老師說的淺拷貝的定義不太精確,如果按他的定義的話直接定義const objNew = obj都可以實現他定義的淺拷貝了。

但淺拷貝的意思應該是只拷貝第一層的基本類型數據,其他類型直接引用,你改的是對象里的基本數據類型,所以是可以的。但如果你加一個復雜類型,就像視頻說的那樣了。

0 回復 有任何疑惑可以回復我~

var obj = {

? ? ? ? ? ? a: "hello",

? ? ? ? ? ? b: {

? ? ? ? ? ? ? ? a:'world',

? ? ? ? ? ? ? ? b: 111

? ? ? ? ? ? },

? ? ? ? ? ? c: [11, "jack", "tom"]


? ? ? ? }

? ? ? ? function simpleClone (objNew) { // ?淺拷貝

? ? ? ? ? ? var obj = {};

? ? ? ? ? ? for (var i in objNew) {

? ? ? ? ? ? ? ? obj[i] = objNew[i]

? ? ? ? ? ? }

? ? ? ? ? ? return obj;

? ? ? ? }

? ? ? ? var objCopy = simpleClone(obj);

? ? ? ? objCopy.b.a = "word1" // 引用類型 淺拷貝

? ? ? ? objCopy.a = "word1234" ?// 原始類型 深拷貝

? ? ? ? console.log(obj);

? ? ? ? console.log(objCopy);


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

老師,我用你的淺拷貝的方式,但是不對啊,打印出來兩個對象不一樣,按說淺拷貝打印出來是一樣的,您幫我看一眼

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號