Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为数组内的变量赋值_Javascript - Fatal编程技术网

Javascript 为数组内的变量赋值

Javascript 为数组内的变量赋值,javascript,Javascript,我对编码非常陌生,不知道为什么会输出未定义的内容: var var0, list = [var0]; list[0] = true; console.log(var0) 在第1行,您将var0的值复制到数组中 在第2行,替换数组中的值 这对var0没有任何影响。这只是一个变量,它以前有一个相同值的副本。它不是引用。在第1行,您将var0的值复制到数组中 在第2行,替换数组中的值 这对var0没有任何影响。这只是一个变量,它以前有一个相同值的副本。它不是引用。您从未使用或定义var0的值 lis

我对编码非常陌生,不知道为什么会输出未定义的内容:

var var0, list = [var0];
list[0] = true;
console.log(var0)

在第1行,您将
var0
值复制到数组中

在第2行,替换数组中的


这对
var0
没有任何影响。这只是一个变量,它以前有一个相同值的副本。它不是引用。

在第1行,您将
var0
值复制到数组中

在第2行,替换数组中的


这对
var0
没有任何影响。这只是一个变量,它以前有一个相同值的副本。它不是引用。

您从未使用或定义var0的值

list[0] = true;
此行将0位置的对象值(由于第一行,该值为var0)替换为布尔变量,值为“true”

你的意思是

var var0 = true, list = [var0];
console.log(list[0])

您从未使用或定义var0的值

list[0] = true;
此行将0位置的对象值(由于第一行,该值为var0)替换为布尔变量,值为“true”

你的意思是

var var0 = true, list = [var0];
console.log(list[0])


您从未将任何内容分配给
var0
。您希望它是什么?我正在为列表[0]赋值true,据我所知,它应该是var0No,
list[0]
是列表的第一项。这里没有指针和引用,只有值-
[var0]
只创建了一个数组
[undefined]
,仅此而已。创建
列表后,与变量没有关系。这是否回答了您的问题@为什么?它非常清楚地解释了它不是一种通过引用传递的语言,因此您不能期望通过更改变量来更改它的副本,反之亦然。我不确定您还需要什么解释。您从未将任何内容分配给
var0
。您希望它是什么?我正在为列表[0]赋值true,据我所知,它应该是var0No,
list[0]
是列表的第一项。这里没有指针和引用,只有值-
[var0]
只创建了一个数组
[undefined]
,仅此而已。创建
列表后,与变量没有关系。这是否回答了您的问题@为什么?它非常清楚地解释了它不是一种通过引用传递的语言,因此您不能期望通过更改变量来更改它的副本,反之亦然。我不知道你在寻找什么其他解释。这是有道理的,但我怎样才能将var0存储在该数组中以便修改它的值呢?你不能。JavaScript没有显式引用。@这是不可能的。如果你分享,我们可能会建议如何处理它。现在,听起来你可能只是想在一个对象中存储你的值。该死,我希望这是可能的:/@VLAZ我试图检查按下了哪个箭头键,使代码比if语句更短:
window.addEventListener('keydown',KD);var left,up,right,down,list=[left,up,right,down];函数KD(event){let LA=0;for(a=37;a!==41;a++){if(event.keyCode==a){list[LA]=true;}LA++}LA=0;}
我想我必须回去使用一堆if语句……这很有意义,但我如何才能将var0存储在该数组中,以便修改它的值呢。JavaScript没有显式引用。@这是不可能的。如果你分享,我们可能会建议如何处理它。现在,听起来你可能只是想在一个对象中存储你的值。该死,我希望这是可能的:/@VLAZ我试图检查按下了哪个箭头键,使代码比if语句更短:
window.addEventListener('keydown',KD);var left,up,right,down,list=[left,up,right,down];函数KD(event){let LA=0;for(a=37;a!==41;a++){if(event.keyCode==a){list[LA]=true;}LA++}LA=0;}
我想我得回去使用一堆if语句了……我知道我已经可以将其赋值为true了,但我正在尝试将其存储在数组中,然后将第一个变量设置为true@HarryLandesburg-你不能,因为javascript不是这样工作的。你永远不会传递一个变量,只传递变量的值。我知道我已经可以将它赋值为true,但我正在尝试将它存储在数组中,然后将第一个变量设置为true@HarryLandesburg-你不能,因为javascript不是这样工作的。您从不传递变量,只传递变量的值。