摘要:虽然自己知道数组和对象是引用类型,在赋值的时候要小心,但是今天还是翻了个错,所以再次写了个帮助自己众所周知,数组就是引用类型的为了防止被改变,所以我们要拷贝一份我天真地以为数组再拷贝一份就不会出现中的情况了,那么,如果数组里面的元素是对象呢
虽然自己知道数组和对象是引用类型,在赋值的时候要小心,但是今天还是翻了个错,所以再次写了个demo帮助自己:
1、众所周知,数组就是引用类型的
2、为了防止arr1被改变,所以我们要拷贝一份
3、我天真地以为数组再拷贝一份就不会出现1中的情况了,那么,如果数组里面的元素是对象呢?(对象也是引用类型)
4、所以要把arr1彻底拷贝出来,包括元素里的对象(这里我们使用jQuery的extend()方法)
最后顺便回顾一下extend方法的用法:extend(deep, targetObj, sourceObj);
(1)、浅拷贝 deep默认为false,targetObj为obj1
(2)、深拷贝 deep为true,targetObj为新建的{}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/91785.html
摘要:原理判断左边的左操作数的对象的原型链上是否有右边这个构造函数的属性。每个对象都有属性,但只有函数对象才有属性在默认情况下,所有的原型对象都会自动获得一个构造函数属性,这个属性是一个指针指向属性所在的函数原型对象是构造函数的一个实例。 JS JavaScript深入浅出 链接描述 数据类型 JS变量按照存储方式区分为值类型和引用类型,并描述其特点?js值类型和引用类型的区别 值类型...
摘要:深拷贝相比于浅拷贝速度较慢并且花销较大。所以在赋值完成后,在栈内存就有两个指针指向堆内存同一个数据。结果如下扩展运算符只能对一层进行深拷贝如果拷贝的层数超过了一层的话,那么就会进行浅拷贝那么我们可以看到和展开原算符对于深浅拷贝的结果是一样。 JS中数据类型 基本数据类型: undefined、null、Boolean、Number、String和Symbol(ES6) 引用数据类型:...
摘要:基本数据类型在中,基本数据类型有种,即数值字符串布尔值。两个布尔值转为数值进行比较。对于对象和布尔值,调用它们的方法得到对应的字符串值,然后进行字符串相加。减法对于字符串布尔值或者,自动调用,转换结果若为,那么最终结果为。 这篇文章,来聊聊 JS 中的数据类型与变量。这是在学习 JS 时最基础的一类问题,但却很重要。希望我的分享有帮助到你。 文章开头,我先提几个面试中遇到的问题: 比如...
阅读 3032·2021-11-24 10:32
阅读 689·2021-11-24 10:19
阅读 5167·2021-08-11 11:17
阅读 1470·2019-08-26 13:31
阅读 1269·2019-08-23 15:15
阅读 2294·2019-08-23 14:46
阅读 2281·2019-08-23 14:07
阅读 1109·2019-08-23 14:03