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

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

copy存在的意義

copy = options[name];

//覆蓋拷貝

target[name] = copy;

為什么不能直接寫成 target[name]=options[name]

正在回答

2 回答

以下是我的理解,不知道對不對

貌似是深淺拷貝的問題

copy = options[name]其實新建了一個與?options[name]相同內(nèi)容的對象,這樣使用target[name]時候就不會影響到options[name]的值,是深拷貝;

target[name]=options[name]的話則是淺拷貝,target[name]其實是options[name]的引用,target[name]改變,options[name]也會隨著改變。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

杰楓 提問者

帶有copy是不是也可以這么寫:target[name] = copy= options[name] ,這樣話都是把options[name]的引用賦給target[name] ,至于深淺拷貝,確實我還是不明白哎
2016-08-02 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕無忌2114720

你的理解有問題,對于復(fù)雜對象類型的傳值是引用傳值,而不是拷貝傳值。所以這里的copy變量只是引用了options[name]對象,并不是拷貝。
2019-07-01 回復(fù) 有任何疑惑可以回復(fù)我~

和target[name] = options[name]沒有區(qū)別,這里的copy沒任何作用。

估計老師是參考jquery源代碼寫的,但源代碼中copy變量還做了其他操作。


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

chen87870098

我同意,這里不是深拷貝,var deepCopy= function(source) { var result={}; for (var key in source) { result[key] = typeof source[key]===’object’? deepCoyp(source[key]): source[key]; } return result; } 這是一個深拷貝的寫法,里面根本沒有用到copy這種東西
2017-01-11 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

copy存在的意義

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號