怎么在Javascript中復(fù)制對象

怎么在Javascript中復(fù)制對象?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

為企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站優(yōu)化、營銷型網(wǎng)站建設(shè)、競價托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!

javascript是一種什么語言

javascript是一種動態(tài)類型、弱類型的語言,基于對象和事件驅(qū)動并具有相對安全性并廣泛用于客戶端網(wǎng)頁開發(fā)的腳本語言,同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言。它主要用來給HTML網(wǎng)頁添加動態(tài)功能,現(xiàn)在JavaScript也可被用于網(wǎng)絡(luò)服務(wù)器,如Node.js。

js如何復(fù)制一個對象?

方法一:

把原來對象的屬性遍歷一遍,賦給一個新的對象。

//深復(fù)制對象方法    
var cloneObj = function (obj) {  
    var newObj = {};  
    if (obj instanceof Array) {  
        newObj = [];  
    }  
    for (var key in obj) {  
        var val = obj[key];  
        //newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; //arguments.callee 在哪一個函數(shù)中運(yùn)行,它就代表哪個函數(shù), 一般用在匿名函數(shù)中。  
        newObj[key] = typeof val === 'object' ? cloneObj(val): val;  
    }  
    return newObj;  
};  
//測試    
var obj = {a:function(){console.log(this.b.c)},b:{c:1}},//設(shè)置一個對象  
newObj = cloneObj(obj);//復(fù)制對象  
newObj.b.c=2;//給新對象賦新值  
obj.a();//1,不受影響  
newObj.a();//2

方法二:

1). 先將對象變?yōu)樽址?,然后再變?yōu)閖son對象,防止對象的指針指向問題,為深拷貝

2). undefined 和 function 類型的屬性會被忽略,而 Date 類型的屬性則會被轉(zhuǎn)換為字符串

var obj = {a:1,b:2}  
var newObj = JSON.parse(JSON.stringify(obj));  
newObj.a=3;  
console.log(obj);  
console.log(newObj);

方法三:

針對數(shù)組對象的方法,用數(shù)組方法concat一個空數(shù)組

var a=[1,2,3];  
var b=a;  
var c=[].concat(a);  
a.push(4);  
console.log(b);  
console.log(c);

方法四:

擴(kuò)展運(yùn)算符實現(xiàn)對象的深拷貝

var obj = {
  name: 'FungLeo',
  sex: 'man',
  old: '18'}var { ...obj2 } = obj
obj.old = '22'console.log(obj)
console.log(obj2)

方法五:

ES6擴(kuò)展運(yùn)算符實現(xiàn)數(shù)組的深拷貝

var arr = [1,2,3,4,5]var [ ...arr2 ] = arr
arr[2] = 5console.log(arr)
console.log(arr2)

怎么在Javascript中復(fù)制對象

關(guān)于怎么在Javascript中復(fù)制對象問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

本文名稱:怎么在Javascript中復(fù)制對象
網(wǎng)站網(wǎng)址:http://bm7419.com/article8/pcoiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計App設(shè)計、面包屑導(dǎo)航、做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)