小程序
小游戏
企业微信
微信支付
扫描小程序码分享
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
var a = [1, 2, 3]; var b = a; b[0] = 999; console.log('a:', a, 'b:', b); //a: (3) [999, 2, 3] b: (3) [999, 2, 3] var c = [1, 2, 3]; var d = []; Object.assign(d, c); c[1] = 999; console.log('c:', c, 'd:', d); //c: (3) [1, 999, 3] d: (3) [1, 2, 3] var e = [1, 2, 3]; var f = e; console.log('e:', e, 'f:', f); //e: (3) [1, 2, 3] f: (3) [1, 2, 3] e = [4, 5, 6]; console.log('e:', e, 'f:', f); //e: (3) [4, 5, 6] f: (3) [1, 2, 3]
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
简单来说,引用类型,变量里储存的是存放值的地址而不是真实值,所以dd=aa也只是把真实值所在地址给了dd,大家操作的仍然是同一个地方
数组是引用型对象
js 引用和深拷贝的问题
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
var a = [1, 2, 3]; var b = a; b[0] = 999; console.log('a:', a, 'b:', b); //a: (3) [999, 2, 3] b: (3) [999, 2, 3] var c = [1, 2, 3]; var d = []; Object.assign(d, c); c[1] = 999; console.log('c:', c, 'd:', d); //c: (3) [1, 999, 3] d: (3) [1, 2, 3] var e = [1, 2, 3]; var f = e; console.log('e:', e, 'f:', f); //e: (3) [1, 2, 3] f: (3) [1, 2, 3] e = [4, 5, 6]; console.log('e:', e, 'f:', f); //e: (3) [4, 5, 6] f: (3) [1, 2, 3]
简单来说,引用类型,变量里储存的是存放值的地址而不是真实值,所以dd=aa也只是把真实值所在地址给了dd,大家操作的仍然是同一个地方
数组是引用型对象
js 引用和深拷贝的问题
数组是引用型对象