Javascript数组解释

Javascript数组解释,javascript,Javascript,鉴于这两个数组a和b: var a = [1,2,3]; var b = a; a.push(4); console.log(b); /* [1,2,3,4] */ console.log(a); /* [1,2,3,4] */ 为什么b不等于[1,2,3]?变量b包含对数组a的引用。您需要复制数组,而不是使用方法进行复制 var a=[1,2,3]; var b=a.slice(); a、 推(4); 控制台日志(b); 控制台日志(a)b保存对数组aJS对象的引用,不复制。他们只是

鉴于这两个数组ab

var a = [1,2,3];
var b = a;
a.push(4);

console.log(b); /* [1,2,3,4]  */
console.log(a); /* [1,2,3,4]  */

为什么b不等于[1,2,3]?

变量
b
包含对数组
a
的引用。您需要复制数组,而不是使用方法进行复制

var a=[1,2,3];
var b=a.slice();
a、 推(4);
控制台日志(b);

控制台日志(a)
b
保存对数组
a
JS对象的引用,不复制。他们只是路过reference@thefourtheye“当然可以。我重新打开了它。所以,为了等于[1,2,3](数组a的初始值),我假设我必须正确克隆它?@webenergized:是的,你需要。如果元素是物体,那么你需要在深水中克隆谢谢你的信息,先生,我会在10分钟内接受你的回答