位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 克隆對象

提問人:劉團(tuán)圓發(fā)布時間:2020-11-25

■知識點(diǎn)

克隆對象也是一種復(fù)制操作,不過它的執(zhí)行效率更高一些。

■實(shí)例設(shè)計

第1步,封裝一個克隆工具。為Function類型擴(kuò)展一個原型方法。

var clone = function(obj){       //對象克隆方法

    function Temp(){};               //新建空構(gòu)造函數(shù)

    Temp.prototype = obj;       //把參數(shù)對象賦值給該構(gòu)造函數(shù)的原型對象

    return new Temp();             //返回實(shí)例化后的對象

}

第2步,調(diào)用工具函數(shù)cloneO把obj克隆給objl。

var obj = {                 //定義對象

    x:true, 

    y:false

}

var obj 1 = {};                //新的空對象

objl = clone (obj) ;        //克隆對象

第3步,檢測對象objl,其擁有對象obj所有屬性,但是它們不全等。

console.log (obj 1 === obj);    //false,說明兩個對象不同

console.log(obj1.x);                  //true

console.log(obj?x);                  //true

這里通過直接賦值的方式把一個對象傳遞給一個臨時構(gòu)造函數(shù)的原型對象,然后實(shí)例化類型函數(shù),并返回這個實(shí)例對象,它擁有了參數(shù)對象的所有成員,但是不再與原參數(shù)對象保持聯(lián)系。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部