我将变量bubbleL1
签名为1
,但是为什么bubbles
列表中的第一个变量bubbleL1
仍显示undefined
?我知道这可能是一个愚蠢的问题,但我真的不知道为什么。
let bubbleL1, bubbleL2, bubbleL3, bubbleR1, bubbleR2, bubbleR3;
let bubbles = [bubbleL1, bubbleL2, bubbleL3, bubbleR1, bubbleR2, bubbleR3];
bubbleL1 = 1;
console.log(bubbleL1) // 1
console.log(bubbles) // [undefined, undefined, undefined, undefined, undefined, undefined]
我想要的是一个列表,其中每个项目都有一个特定的名称(出于声明的原因,我确实不只是使用bubble [0],bubble [1] ...)
假设我们有一个名为bubbles
的列表,还有六个变量,分别为bubbleL1
,bubbleL2
,bubbleL3
,bubbleR1
,{{1 }},bubbleR2
。我想将所有这六个变量都放入bubbleR3
列表中,以便稍后可以为列表中的每个变量分配值,如下所示:
bubbles
答案 0 :(得分:3)
bubbleL1
是基元,因此按值复制。
let x = 3;
let sum = x;
sum = 3 + 5;
console.log(x); // 3
另一方面,对象和数组将表现出预期的按引用复制行为:
let x = {a: 3};
let sum = x;
sum.a = 3 + 5;
console.log(x.a); // 8