slice(0)和深拷貝區(qū)別

var obj = [
    {
        name:'js1',
        job:'111'
    },
    {
        name:'js2',
        job:'222'
    },
    {
        name:'js3',
        job:'333'
    }
];
var copy = obj.slice(0);
copy[1].name = 'tom';
console.log(obj[1].name); //tom
console.log(copy[1].name); //tom

結果是obj[1].name和copy[1].name都被修改了驹针。slice可看作淺拷貝诀艰,因為如果obj有引用類型的元素,slice僅僅是復制了元素的地址其垄。

  1. 拷貝是指得到被拷貝對象的副本,副本的修改不會影響到原對象臂外;
  1. js的傳參是按值傳遞喇颁,但是對于引用類型,傳遞的值是原對象在內(nèi)存中的地址橘霎,所以拷貝僅僅是獲取了原對象的引用
  1. 在 (2) 的基礎上瓦盛,對拷貝進行修改七蜘,原對象也會被修改;
  1. 要想避免(3)的情況出現(xiàn)橡卤,就不能僅僅拷貝地址损搬,而是要將原對象的屬性樹遍歷復制到拷貝上柜与,這樣拷貝和原對象就是完全獨立的了嵌灰;
  1. (4)的情況叫深拷貝,與之相對迁匠, (2) 的情況叫淺拷貝驹溃;
  1. 如果obj所有值都是非引用類型,那么obj.slice(0)與深淺拷貝沒有差別豌鹤;
  1. 如果obj有引用類型的元素的話,obj.slice(0)僅僅是復制了元素的地址蚊惯,obj.slice(0)可看作淺拷貝
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灵临,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子菠劝,更是在濱河造成了極大的恐慌睁搭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舔痪,死亡現(xiàn)場離奇詭異锌唾,居然都是意外死亡,警方通過查閱死者的電腦和手機晌涕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門余黎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惧财,你說我怎么就攤上這事扭仁√瑁” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵熊泵,是天一觀的道長甸昏。 經(jīng)常有香客問我,道長筒扒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任悬秉,我火速辦了婚禮冰蘑,結果婚禮上,老公的妹妹穿的比我還像新娘武氓。我一直安慰自己仇箱,他們只是感情好,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布忠烛。 她就那樣靜靜地躺著权逗,像睡著了一般美尸。 火紅的嫁衣襯著肌膚如雪斟薇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天胯陋,我揣著相機與錄音,去河邊找鬼寿弱。 笑死按灶,一個胖子當著我的面吹牛筐咧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播量蕊,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼残炮,長吁一口氣:“原來是場噩夢啊……” “哼韭赘!你這毒婦竟也來了势就?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤袖牙,失蹤者是張志新(化名)和其女友劉穎舅锄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畴蹭,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡鳍烁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了芹啥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铺峭。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卫键,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钓账,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布服协,位于F島的核電站啦粹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏唠椭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一寺庄、第九天 我趴在偏房一處隱蔽的房頂上張望力崇。 院中可真熱鬧斗塘,春花似錦餐曹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至休讳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筹麸,已是汗流浹背雏婶。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留留晚,地道東北人。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓奖地,卻偏偏與公主長得像,于是被迫代替她去往敵國和親参歹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,103評論 1 32
  • 小編已經(jīng)更新了代碼部分蜜氨,戳這里 一、數(shù)據(jù)類型 數(shù)據(jù)分為基本數(shù)據(jù)類型(String, Number, Boolean...
    grain先森閱讀 2,747評論 2 53
  • 1.設計模式是什么? 你知道哪些設計模式煞赢,并簡要敘述?設計模式是一種編碼經(jīng)驗照筑,就是用比較成熟的邏輯去處理某一種類型...
    龍飝閱讀 2,153評論 0 12
  • 在浦東圖書館呆了一下午凝危,折騰出兩個新的主題包~安靜果然利于思考… 我之前買了喜馬拉雅上講記憶法的課。是最強大腦的一...
    藍水藍閱讀 259評論 1 0
  • (一) 身殘智聰意志堅懦铺, 拐杖撐起一片天。 好強勤奮苦鉆研冬念, 學成中醫(yī)治疑難。 鄉(xiāng)村辦起醫(yī)療站急前, 攻克燒傷...
    許永杰閱讀 1,100評論 0 1