深拷貝對象

語法:jQuery.extend( [deep ], target, object1 [, objectN ] )

深淺拷貝對應的參數就是[deep],是可選的,爲true或false。默認情況是false(淺拷貝),並且false是不能夠顯示的寫出來的。如果想寫,只能寫true(深拷貝)

測試例子:

var object1 = {};
var object2 = {
    b:{
        mm:333
    },
    c:100
};

console.log('原來的object1--->'+JSON.stringify(object1));
console.log('原來的object2--->'+JSON.stringify(object2));
$.extend(true,object1, object2);
object1.b.mm = 600;
console.log('新的object1--->'+JSON.stringify(object1));
console.log('新的object2--->'+JSON.stringify(object2));

由測試結果知道,jQuery中$.extend(true,object1, object2);可以深拷貝對象,拷貝之後,改變其中一個對象的屬性值,對另外一個沒有影響

var object1 = {
    a: 0,
    b: {
        gg: 11,
        mm: 22
    }
};
var object2 = {
    b: {
        mm: 333
    },
    c: 100
};

console.log('原來的object1--->'+JSON.stringify(object1));
console.log('原來的object2--->'+JSON.stringify(object2));
$.extend(true,object1, object2);
object1.b.mm = 600;
console.log('新的object1--->'+JSON.stringify(object1));
console.log('新的object2--->'+JSON.stringify(object2));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章