为了账号安全,请及时绑定邮箱和手机立即绑定

js变量指向的问题

js变量指向的问题

红颜莎娜 2019-02-26 13:14:00
var a = [1,2];var b = [1,2,a];a=[3];打印b //[1,2,[1,2]]第一个问题:b为什么没有变?var a = [1,2];var b = [1,2,a];a[0]=3;打印b //[1,2,[3,2]]第二个问题:b为什么变了?诚问;麻烦说的通俗易懂些
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

首先,数组是引用类型的值,意思就是数组名是指向内存地址的一个指针。

所以a是数组的一个指针,a重新赋值是改变了a的指向,b也是一个指针对吧,它指向的就是[1, 2, // a指向的那个数组,即[1, 2]]

a只是更改了指向,没有更改原来那个指向的内容。

但是a[0]就不一样了,它是修改了内存地址的内容。

手机打的…可能体验比较差,但是有问题可以继续问我~


查看完整回答
反对 回复 2019-03-02
  • 1 回答
  • 0 关注
  • 423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信