Diana_cope1979 2019-02-16 15:34 采纳率: 0%
浏览 970

js中为什么数组内部元素能够通过定以变量进行修改

有一个数组,里面的元素对象,

var poem = [
    {name: "cold",age: 23,height: 177},
    {name: "cool",age: 41,height: 163},
    {name: "warm",age: 25,height: 137},
]

我可以通过定义一个变量等于数组中的一个对象

var cool = poem[1]
cool.name = "coolest"
cool.height = 188

然后这个数组第这个元素就变了,

console.log(poem)
//输出结果如下:
/*[
  { name: 'cold', age: 23, height: 177 },
  { name: 'coolest', age: 41, height: 188 },
  { name: 'warm', age: 25, height: 137 } 
]*/
```小白提问,柑橘是很基础的问题,但是我知识有限,希望得到解答
  • 写回答

5条回答 默认 最新

  • 冥冥之外 2019-02-16 16:23
    关注

    poem 变量存放了数组对象的引用;一个数组对象所占的空间在堆上被分配,然后返回其引用;更改poem下标1里的内容实际上更改了内存中的内容,

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog