资讯专栏INFORMATION COLUMN

js 传值赋值-传址赋值

MobService / 641人阅读

摘要:传值基本类型赋值操作的右边是基本类型时做的是一个值拷贝此时内存中有两个数据赋值完后左边和右边变量的地址指向不一样输出可以看到这个并没有发生改变传址对象赋值操作的右边是一个对象时传递的是一个地址值此时的和指向的是同一个地址指向内存中的同一个数

1.传值(基本类型)
赋值操作的右边是基本类型时, 做的是一个值拷贝, 此时内存中有两个数据, 赋值完后, 左边和右边变量的地址指向不一样

let programModel = [
    {lastProgramNum:2,lastAudioNum:[3,3]},
    {lastProgramNum:0,lastAudioNum:[]},
    {lastProgramNum:0,lastAudioNum:[]}
];

function ace() {
    let a = programModel[1].lastProgramNum;
    a = 10;
}
console.log(programModel);

输出, 可以看到, 这个2并没有发生改变

[ { lastProgramNum: 2, lastAudioNum: [ 3, 3 ] },
  { lastProgramNum: 0, lastAudioNum: [] },
  { lastProgramNum: 0, lastAudioNum: [] } ]

2.传址(对象)
赋值操作的右边是一个对象时, 传递的是一个地址值, 此时的a 和 programModel[0].lastAudioNum 指向的是同一个地址, 指向内存中的同一个数据

let programModel = [
    {lastProgramNum:2,lastAudioNum:[3,3]},
    {lastProgramNum:0,lastAudioNum:[]},
    {lastProgramNum:0,lastAudioNum:[]}
];
function ace() {
    let a = programModel[0].lastAudioNum;
    a[1] = 10;
}
ace();
console.log(programModel);

输出, 可以看到改成了10

[ { lastProgramNum: 2, lastAudioNum: [ 3, 10 ] },
  { lastProgramNum: 0, lastAudioNum: [] },
  { lastProgramNum: 0, lastAudioNum: [] } ]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94382.html

相关文章

  • Java是传值还是传址

    摘要:传值和传址有什么区别是传值还是传址开始在传参时,是传值还是传址传值和传址假设要将传到。传值和传址是传值是传值。分别是基本类型,对象和数组,还有。常量池时,好比是一张纸条,当要传值给时,事实是把纸条上的内容抄给了。 传值和传址有什么区别?Java是传值还是传址? 开始 Java在传参时,是传值还是传址? 传值和传址 假设要将A传到B。如果是传值,就意味着将A中存放的值复制一份给B,B存的...

    fnngj 评论0 收藏0
  • JavaScript中的继承入门

    摘要:如前所述,中继承是要分别继承构造函数和原型中的属性和行为的。作为类的构造函数存在,使用调用,例如作为类的构造函数,通过进行类的实例化。 正统的面相对象的语言都会提供extend之类的方法用于出来类的继承,但Javascript并不提供extend方法,在Javascript中使用继承需要用点技巧。 Javascript中的实例的属性和行为是由构造函数和原型两部分组成的,我们定义两个类:...

    whatsns 评论0 收藏0
  • 一篇文章理解JS数据类型、深拷贝和浅拷贝

    摘要:接下来我们进入正片数据类型六种基本数据类型布尔值,和一个表明值的特殊关键字。一种数据类型,它的实例是唯一且不可改变的。在中是没有方法是可以改变布尔值和数字的。参考资料深拷贝浅拷贝 前言 笔者最近整理了一些前端技术文章,如果有兴趣可以参考这里:muwoo blogs。接下来我们进入正片: js 数据类型 六种 基本数据类型: Boolean. 布尔值,true 和 false. nu...

    EddieChan 评论0 收藏0
  • 一篇文章理解JS数据类型、深拷贝和浅拷贝

    摘要:接下来我们进入正片数据类型六种基本数据类型布尔值,和一个表明值的特殊关键字。一种数据类型,它的实例是唯一且不可改变的。在中是没有方法是可以改变布尔值和数字的。参考资料深拷贝浅拷贝 前言 笔者最近整理了一些前端技术文章,如果有兴趣可以参考这里:muwoo blogs。接下来我们进入正片: js 数据类型 六种 基本数据类型: Boolean. 布尔值,true 和 false. nu...

    enda 评论0 收藏0

发表评论

0条评论

MobService

|高级讲师

TA的文章

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