如何在Javascript中访问变量?
我想要一个值为[1,2,3]。但是,我怎样才能做到这一点呢。请帮忙。提前感谢您将数组的对象引用指定给另一个变量。但在这里,您要做的是复制数组以创建一个新实例如何在Javascript中访问变量?,javascript,Javascript,我想要一个值为[1,2,3]。但是,我怎样才能做到这一点呢。请帮忙。提前感谢您将数组的对象引用指定给另一个变量。但在这里,您要做的是复制数组以创建一个新实例 var a=[1,2,3]; var b=a; b.push(4,5); console.log(b); console.log(a); 当传递的起始值为0时,Array.prototype.slice将创建原始数组的副本。但是如果您确实关心传递硬编码的值,请使用调用的变体 var a=[1,2,3]; var b= a.s
var a=[1,2,3];
var b=a;
b.push(4,5);
console.log(b);
console.log(a);
当传递的起始值为0
时,Array.prototype.slice
将创建原始数组的副本。但是如果您确实关心传递硬编码的值,请使用调用
的变体
var a=[1,2,3];
var b= a.slice(0);
b.push(4,5);
console.log(b); //[1,2,3,4,5]
console.log(a); //[1,2,3]
将数组的对象引用指定给另一个变量。但在这里,您要做的是复制数组以创建一个新实例
var a=[1,2,3];
var b=a;
b.push(4,5);
console.log(b);
console.log(a);
当传递的起始值为0
时,Array.prototype.slice
将创建原始数组的副本。但是如果您确实关心传递硬编码的值,请使用调用
的变体
var a=[1,2,3];
var b= a.slice(0);
b.push(4,5);
console.log(b); //[1,2,3,4,5]
console.log(a); //[1,2,3]
让我们谈谈记忆
a
保存在内存中,例如,在123
当您在代码中告诉makeb=a
时,它只引用地址123
处相同的a
,因此它们在内存中的位置相同,因此当您更改其中任何一个时,您会更改另一个
... 因此,您可以通过以下方法之一在内存中为第二个数组创建另一个位置
var b=a.slice(0)代码>
或
var b=JSON.stringify(JSON.parse(a))代码>
或
var b=[].concat(a)代码>让我们谈谈内存
a
保存在内存中,例如,在123
当您在代码中告诉makeb=a
时,它只引用地址123
处相同的a
,因此它们在内存中的位置相同,因此当您更改其中任何一个时,您会更改另一个
... 因此,您可以通过以下方法之一在内存中为第二个数组创建另一个位置
var b=a.slice(0)代码>
或
var b=JSON.stringify(JSON.parse(a))代码>
或
var b=[].concat(a)代码>我想要一个值[1,2,3]
用于什么?BA.二者都还有什么?我想用a值是[1,2,3],b值是[1,2,3,4,5]。但是我得到的一个值是[1,2,3,4,5]。由于数组是通过引用调用工作的[,所以您必须使用concat方法来解决您的问题,因为concat方法创建了一个新数组,而没有修改现有数组。解决方案:var a=[1,2,3];b=[].concat(a);b.push(4,5);console.log(b);console.log(a)我想要一个值[1,2,3]
为了什么?b?a?两者?还有什么?我想用一个值是[1,2,3],b值是[1,2,3,4,5]。但我得到的值是[1,2,3,4,5]。由于数组是通过引用来调用的[,所以您必须使用concat方法来解决问题,因为concat方法创建了一个新数组,而没有修改现有数组。解决方案:var a=[1,2,3];b=[].concat(a);b.push(4,5);console.log(b);console.log(a)非常感谢您的回答。非常感谢您的回答。