对象的拷贝

实现对象的拷贝

$.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循环,最后把赋值的对象返回即可

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 拷贝也即是复制。那么深拷贝和浅拷贝呢? 在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数...
    avery1阅读 2,795评论 0 0
  • 对象的拷贝 深度拷贝一个对象 java.lang.Object 根类已经定义了 clone() 方法。子类只需要事...
    WooiiiWooiii阅读 7,007评论 0 0
  • 在JS中,有六种数据类型,分别是数值(Number)、字符串(String)、布尔型(Boolean)、undef...
    大春春阅读 4,699评论 0 3
  • Java对象的Copy 引用CSDN博客地址:http://m.blog.csdn.net/chenssy/art...
    佩佩691阅读 4,411评论 0 0
  • 三点十五分,现在是凌晨三点十五分,我躺在天台上,花了三分零七秒确认我睡在自己的凉席上。在我左边,睡着三个半...
    左以是个左以阅读 2,806评论 0 3

友情链接更多精彩内容