gpt4 book ai didi

javascript - 当我将一个变量分配给另一个变量时,它不会将它们链接在一起吗?

转载 作者:行者123 更新时间:2023-11-28 20:00:09 25 4
gpt4 key购买 nike

我试图找到有关 lodash _.clone 的更多信息,我认为它复制了一个对象中的数据并创建了一个不同的对象。然而,当我在控制台中测试时,我注意到了这一点:

var a = 88
undefined
var b = a
undefined
console.log(b)
88 VM1010:2
undefined
var a = 100
undefined
console.log(b)
88

我期望看到的是 b 是 100。有人能为我解释一下吗?

更新:

这是我遇到的问题:

                $scope.grid.data = result;
$scope.grid.backup = _.clone(result);

这里看来,当我更改数据对象内的值时,.backup 对象内相应的值也会更改

最佳答案

这就是变量在 JavaScript 和大多数语言中的工作方式。赋值b = a 将变量a赋给变量b。在能够将变量设置为对另一个变量的引用的语言中,通常有特定的语法来执行此操作; JavaScript 没有这个功能。

请注意,这可能会显得令人困惑,因为在对象的情况下,从 a 分配给 b 的值是对该对象的引用,但这仍然不变量本身并不“链接”,它只是将它们“指向”同一个对象。修改任一变量(通过赋值)不会影响另一个变量,但是通过任一变量对对象进行的任何更改都将被两个变量镜像,因为它们再次指向同一个对象。

关于javascript - 当我将一个变量分配给另一个变量时,它不会将它们链接在一起吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com