对象的拷贝

实现对象的拷贝

$.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)
上面的这句代码只是做了一个数据类型的判断
具体的实现方法可以使用
Object.prototype.toString.call(x)

参数x就是我们想要判断判断数据类型的变量

上面的switch主要考虑的就是对象的属性值是复合的数据类型,比如是数组或者是对象,如果是这样的话,需要在执行一遍克隆的操作,,然后使用for循环,最后把赋值的对象返回即可

这个方式能实对象的深拷贝和浅拷贝

你可能感兴趣的:(对象的拷贝)