前端/JS/深浅拷贝-引用数据类型/jQuery语法的深浅拷贝/多库并存

本文详细介绍了JavaScript中的深浅拷贝概念,对于引用数据类型,浅拷贝仅复制内存地址,而深拷贝则递归复制所有数据。在jQuery中,$.extend()方法用于对象的拷贝,不带true参数时为一维深拷贝,多维浅拷贝,而带true参数则进行全深拷贝。此外,还讨论了jQuery的多库并存问题,通过$.noConflict()方法可以释放或修改$和jQuery关键词,以避免命名冲突。
摘要由CSDN通过智能技术生成

一、深浅拷贝含义:

        (1)针对 JavaScript中的引用数据类型而言的,基本数据类型不涉及 深浅拷贝问题。

        (2)浅拷贝:直接复制拷贝 引用数据类型的内存地址

                        const obj1={name:'张三',age:18,sex:'男'};

                        obj1中存储的是 对象类型 的 内存地址,不是对象类型的具体数据数值

                        const obj2=obj1   ==>将obj1中存储的内存地址赋值给obj2存储

                        最终效果是 通过一个变量操作引用数据类型 另一个变量也会受到影响

                总结:本质是赋值拷贝内存地址;始终只有 一个 引用数据类型;操作的始终是 一个存储空间;一个变量操作 其他所有变量都会受到影响

         (3)深拷贝:遍历循环 所有的 数据单元 复制拷贝 所有的具体数据数值

                var obj1={name:'张三',age:18,sex:'男'};

                const obj2={};

                for(let key in obj1){

                        obj2[key]=obj1[key];

                }

二、jQuery语法的深浅拷贝

                $.extend(参数1,参数2)        将参数2的数据拷贝至 参数1(一维深拷贝,多维浅拷贝)

                $.extend(true,参数1,参数2)        将参数2的数据拷贝至 参数1 中(所有都是深拷贝)

                总结:

                $.extend(参数1,参数2);        ==>一维深,多维浅

                $.extend(true,参数1,参数2)    ==>都是深拷贝

三、jQuery的多库并存和放弃关键字

                1、多库并存:

                        jquery是一个JavaScript的一个类库,使用关键词 $和jQuery来调用方法;

                        如果其他类库也使用$和jQuery作为关键词,就会造成程序执行的混乱;

                        可以 放弃/修改 jQuery的关键词

                2、放弃/修改关键词

                        $.noConflict();        ==>   $   不能使用

                        $.noConflict(true);  ==>   $  jQuery都不能使用

                        const 变量=$.noConflict(true);  ==>使用变量作为关键词调用jQuery

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值