在Javascript中引用声明中的数组

在Javascript中引用声明中的数组,javascript,arrays,declaration,definition,Javascript,Arrays,Declaration,Definition,我想知道我是否可以在自己的声明中引用我在Javascript中声明的数组。。。 参见代码 我希望该数组是[“foo”,23][“bar”,29] 谢谢大家! JavaScript引擎将首先解析数组初始值设定项,它将找不到“数据”的任何定义,并将抛出一个错误。因此,它不起作用。JavaScript引擎将首先解析数组初始值设定项,它将找不到“数据”的任何定义,并将抛出一个错误。因此,它不起作用。它不起作用,因为您引用的变量尚未创建。此时数据仍然未定义。因此,您需要首先完成声明语句,然后引用该变量。它

我想知道我是否可以在自己的声明中引用我在Javascript中声明的数组。。。 参见代码

我希望该数组是
[“foo”,23][“bar”,29]


谢谢大家!

JavaScript引擎将首先解析数组初始值设定项,它将找不到“数据”的任何定义,并将抛出一个错误。因此,它不起作用。

JavaScript引擎将首先解析数组初始值设定项,它将找不到“数据”的任何定义,并将抛出一个错误。因此,它不起作用。

它不起作用,因为您引用的变量尚未创建。此时数据仍然未定义。因此,您需要首先完成声明语句,然后引用该变量。

它不会像引用尚未创建的变量那样起作用。此时数据仍然未定义。因此,您需要首先完成声明语句,然后引用变量。

您不能在数组中真正使用
data
(您当时正在创建一个名为
data
的新局部变量。为什么不创建一个包含
var fooArr=[“foo”,23],barArr=[“bar”,foo[1]+6],data=[fooArr,barArr]的变量呢更有趣的是为什么你认为你需要这种构造这是一个奇怪的问题或糟糕的实际例子。我想知道为什么你会这样做,因为23是一个硬编码的数字,23+6是29,如果23来自一个变量,你也可以做
var data=[[“foo”,23][“bar”,29]
(比方说
num
)然后您可以执行
[“foo”,num][“bar”,num+6]
如果您有一个现有的数组,并且需要一个基于先前值的数组,您可以使用reduce或zip/map。您不能在数组中真正使用
数据(您当时正在创建一个名为
data
的新局部变量。为什么不创建一个包含
var fooArr=[“foo”,23],barArr=[“bar”,foo[1]+6],data=[fooArr,barArr]的变量呢更有趣的是为什么你认为你需要这种构造这是一个奇怪的问题或糟糕的实际例子。我想知道为什么你会这样做,因为23是一个硬编码的数字,23+6是29,如果23来自一个变量,你也可以做
var data=[[“foo”,23][“bar”,29]
(比如说
num
)然后你可以做
[“foo”,num][“bar”,num+6]
如果您有一个现有的数组,并且需要一个基于上一个值的数组,您可以使用reduce或zip/map来澄清:将抛出一个错误,因为
数据
此时将
未定义
,并且该数组上不存在任何属性
0
。它不会仅仅因为
数据
不存在而抛出错误(
var数据;
被提升),但是像
let
const
这样的东西会因此而引发错误。为了澄清这一点,将引发错误,因为
数据
在该点将
未定义
,并且其上不存在任何属性
0
。它不会仅仅因为
数据
不存在而引发错误(
var数据;
被挂起),但是像
let
const
这样的东西将被挂起,因此。
var data = [["foo",23],["bar",data[0][1]+6]];