JavaScript 数组值到变量

标签 javascript arrays reference

我正在尝试使用 Fuse 来创建移动应用程序,他们使用 JavaScript 来实现逻辑。我以前从未使用过 JavaScript,最近刚刚完成了他们的入门类(class)。大多数内容都很容易理解,但我在某一时刻对他们使用变量的方式遇到了麻烦。如果有人能解释变量在 JavaScript 中的行为方式,那就太好了。

所以我遇到的问题如下:

    for (var i = 0; i < hikes.length; i++){
        // A new variable gets the value of the array
        var hike = hikes[i];

        if (hike.id == id){
            // The variable gets a new value
            hike.name = "foo";
            break;
        }
    }

因此,根据我对编程的理解,数组加息应该保持不变,只有变量加息应该以 foo 作为名称值。但实际上,该数组现在也有名称 foo。

我猜这个变量作为指向数组值地址的指针,但也许有人可以帮助我更好地理解这个概念。

最佳答案

是的,你是对的,对象和数组总是作为引用传递:

a = {}; // empty object
b = a; // references same object
b.foo = 'bar';
a.foo; // also 'bar'

关于JavaScript 数组值到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50987680/

相关文章:

javascript - 为什么一个对象的方法不能用于另一个对象?

javascript - [Vue 警告] : Error in created hook: "TypeError: Cannot set property of undefined"

javascript - 是否可以为 Express 中的给定模板引擎添加全局渲染回调?

javascript - Javascript 如何对错误使用react?

java - 命令设计模式

c++ - 避免在本地范围内进行动态分配

c++ - 为什么引用变量需要在定义时初始化?

python - 给定一个数组,创建数组数组的有效方法是什么,其中每个子数组的索引与给定数组中的值相等

Python - 在 'array' 中寻找最低位置

c++ - 未定义的函数引用错误?