gpt4 book ai didi

javascript - Node.js 中的变量作用域

转载 作者:太空宇宙 更新时间:2023-11-04 00:54:23 24 4
gpt4 key购买 nike

我刚刚开始使用nodeJS,在理解变量范围和引用方面遇到一些困难。例如,在下面的代码中,即使对变量 b 进行了切片,变量 a 也会更改/被覆盖。我的问题是,如何将变量 a 复制到变量 b 而不引用它/覆盖变量 a。

var a = ['a', 'b', 'c', 'd'];
var b = a;
b.splice(3,1);

console.log(a) //will display ['a', 'b', 'c'] instead of ['a', 'b', 'c', 'd']

最佳答案

不用像阿米特建议的那样使用库,这可以在本地完成,而无需安装巨大的库......

使用不带参数的.slice()

var a = ['a', 'b', 'c', 'd'];
var b = a.slice();
b.splice(3,1);

console.log(a);

当您设置b = a时,您并不是在创建新数组,您只是告诉b保存对a的引用。所以 ab 实际上引用了内存中的同一位置。 .slice 通过返回整个新数组来工作。

关于javascript - Node.js 中的变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30676147/

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