實現(xiàn)對象的拷貝
$.clone = function (object) {
var clone = {};
var cloneOf = function (item) {
switch ($.type(item)) {
case 'array': return $.clone(item);
case 'object': return $.clone(item);
default: return item;
}
};
for (var key in object) clone[key] = cloneOf(object[key]);
return clone;
};
$.type(item)
上面的這句代碼只是做了一個數(shù)據(jù)類型的判斷
具體的實現(xiàn)方法可以使用
Object.prototype.toString.call(x)
參數(shù)x就是我們想要判斷判斷數(shù)據(jù)類型的變量
上面的switch主要考慮的就是對象的屬性值是復合的數(shù)據(jù)類型,比如是數(shù)組或者是對象,如果是這樣的話,需要在執(zhí)行一遍克隆的操作,,然后使用for循環(huán),最后把賦值的對象返回即可
這個方式能實對象的深拷貝和淺拷貝