求解,数组赋值问题

发布于 6 年前作者 linjie10316 次浏览最后编辑 6 年前来自 ask
var aa = 'aa'
var bb = aa
aa = 'cc'
console.log(bb)
输出 ['aa']
//--------------------
 
var a = ['a']
var b = a
a[0] = 'c'

console.log(b)

输出 'c'

为啥同样的写法数组的值会被赋到 b 上面呢?

代码片段

https://developers.weixin.qq.com/s/44SxEAmi7e9X

3 回复
jielai
jielai1 楼6 年前

一个是aa变量,一个是a[0],怎么是同样写法,你把每个地方的类型打出来看看区别

bsu
bsu2 楼6 年前

数组是引用类型,指向的是内存中的地址,字符串类型相当于new String(),新开了一个内存空间,所以,一个会根据指针改变位置,一个是新开辟的内存地址

guiying67
guiying673 楼4 年前

? 没人吗? 算不算是BUG吖?