Javascript 按引用设置的数组/按值设置的数组

Javascript 按引用设置的数组/按值设置的数组,javascript,arrays,Javascript,Arrays,注意:我假设这个问题以前被问过一百万次,但我不知道该搜索什么。 问题很简单。javascript中的数组似乎是通过引用设置的。我如何通过值来设置它。也就是说,即使我清空了数组a,我也希望数组b是a的副本,也就是说,我希望alert(b)发出警报['1','2','3'] var a = ['1','2','3']; var b = []; b = a; a.length = 0; alert(b); 这里是一个JSFIDLE是,设置a=b将使两个变量都指向同一个数组/对象,因此您必须复制该数组

注意:我假设这个问题以前被问过一百万次,但我不知道该搜索什么。 问题很简单。javascript中的数组似乎是通过引用设置的。我如何通过值来设置它。也就是说,即使我清空了数组a,我也希望数组b是a的副本,也就是说,我希望
alert(b)
发出警报
['1','2','3']

var a = ['1','2','3'];
var b = [];
b = a;
a.length = 0;
alert(b);

这里是一个JSFIDLE

是,设置
a=b
将使两个变量都指向同一个数组/对象,因此您必须复制该数组,而不仅仅是引用它:

b = a.slice();
javascripts
slice()
方法返回一个基于给定参数切片的新数组,如果在没有参数的情况下调用,它将返回整个数组的新浅层副本