gpt4 book ai didi

javascript - 函数改变函数外部的变量

转载 作者:行者123 更新时间:2023-12-02 19:58:19 26 4
gpt4 key购买 nike

为什么howdothisvargetchanged在解析为changevar后得到不同的值?当变量仅存在于作用域之外时,函数如何更改它?

(function()
{
var howdoesthisvargetchanged = {'a': 'a', 'B': 'B', 'C': 'C'};
console.log(JSON.stringify(howdoesthisvargetchanged));
changevar(howdoesthisvargetchanged);
console.log(JSON.stringify(howdoesthisvargetchanged));
function changevar(v)
{
v['C'] = 'why does this work?';
}
})();

最佳答案

它之所以有效,是因为您通过引用 changevar() 来传递 howdoesthisvargetchanged。如果您尝试在 changevar() 中重新分配变量,外部不会发生任何事情。但由于我们引用了一个现有对象,因此我们正在对该实例进行操作。我们对该对象的属性所做的任何更改都将反射(reflect)到访问该对象的任何其他内容。

关于javascript - 函数改变函数外部的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349665/

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