资讯专栏INFORMATION COLUMN

js的对象和数组,引用类型的理解

hidogs / 510人阅读

摘要:虽然自己知道数组和对象是引用类型,在赋值的时候要小心,但是今天还是翻了个错,所以再次写了个帮助自己众所周知,数组就是引用类型的为了防止被改变,所以我们要拷贝一份我天真地以为数组再拷贝一份就不会出现中的情况了,那么,如果数组里面的元素是对象呢

虽然自己知道数组和对象是引用类型,在赋值的时候要小心,但是今天还是翻了个错,所以再次写了个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值类型和引用类型的区别 值类型...

    WilsonLiu95 评论0 收藏0
  • js对象拷贝

    摘要:对象是的基本块。和明红明可以看到改变并没有改变原始对象,实现了基本的深拷贝。和能正确处理的对象只有等能够被表示的数据结构,因此函数这种不能被表示的类型将不能被正确处理。 对象介绍 js中包含两种不同数据类型的值: 基本类型值和引用类型值。 基本类型值指的是简单的数据段,而引用类型值指的是那些由可能由多个值构成的对象。 js对象都是引用类型,对象是某个特定引用类型的实例。对象是js的基本...

    ymyang 评论0 收藏0
  • 深入理解JS深浅拷贝

    摘要:深拷贝相比于浅拷贝速度较慢并且花销较大。所以在赋值完成后,在栈内存就有两个指针指向堆内存同一个数据。结果如下扩展运算符只能对一层进行深拷贝如果拷贝的层数超过了一层的话,那么就会进行浅拷贝那么我们可以看到和展开原算符对于深浅拷贝的结果是一样。 JS中数据类型 基本数据类型: undefined、null、Boolean、Number、String和Symbol(ES6) 引用数据类型:...

    JackJiang 评论0 收藏0
  • js数组深拷贝

    摘要:好久没写文章了,都感觉自己最近没什么进步啊,正愁不知道写什么呢,这两天的工作中偶然发现一个数组深拷贝的问题,正好可以拿出来说一说。难道之前我们对数组的深拷贝都被骗了。。。对于字符串数字及布尔值来说不是或者对象,会拷贝这些值到新的数组里。 好久没写文章了,都感觉自己最近没什么进步啊,正愁不知道写什么呢,这两天的工作中偶然发现一个js数组深拷贝的问题,正好可以拿出来说一说。 抛出问题 co...

    lily_wang 评论0 收藏0
  • 分析 JavaScript 数据类型与变量

    摘要:基本数据类型在中,基本数据类型有种,即数值字符串布尔值。两个布尔值转为数值进行比较。对于对象和布尔值,调用它们的方法得到对应的字符串值,然后进行字符串相加。减法对于字符串布尔值或者,自动调用,转换结果若为,那么最终结果为。 这篇文章,来聊聊 JS 中的数据类型与变量。这是在学习 JS 时最基础的一类问题,但却很重要。希望我的分享有帮助到你。 文章开头,我先提几个面试中遇到的问题: 比如...

    Mike617 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<