JavaScript 克隆對象
■知識點
克隆對象也是一種復(fù)制操作,不過它的執(zhí)行效率更高一些。
■實例設(shè)計
第1步,封裝一個克隆工具。為Function類型擴(kuò)展一個原型方法。
var clone = function(obj){ //對象克隆方法
function Temp(){}; //新建空構(gòu)造函數(shù)
Temp.prototype = obj; //把參數(shù)對象賦值給該構(gòu)造函數(shù)的原型對象
return new Temp(); //返回實例化后的對象
}
第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ù)對象保持聯(lián)系。
點擊加載更多評論>>