【发布时间】:2019-07-02 18:26:58
【问题描述】:
我被教导在 JavaScript 中使用“let”来初始化数组,但我最近发现也可以使用“var”。
var evenNumbers=[2,4,6,8];
我知道可以使用 var 在 JavaScript 中初始化函数,如下所示
var hello=function(){};
很自然,我假设用于初始化变量的“var”指的是数组的名称,在本例中为 evenNumbers。
不过我最近也了解到,在我认为是 Java 类型语言的祖父的 C 中初始化数组时,数组中使用的变量类型用于初始化数组调用。
int evenNumbers[]={2,4,6,8};
显然在这种情况下,int 指的是列表的元素,因为数组不是 int。
因此,我假设 JavaScript 中数组调用之前的 var 指的是列表的元素。我尝试通过将错误的强类型应用于新的 JavaScript 变量来测试它,例如
int newYearsResolutions=["Stop procrastinating"];
这给了我一个意想不到的标识符,但这并没有太大帮助,因为数组不是 int,“停止拖延”也不是 int。然后我尝试了
int evenNumbers=[2,4];
这给了我同样的错误,让我回到原来的结论,即此处命名的 var 是“evenNumbers”而不是整数 2 和 4,但我仍然觉得我可能遗漏了一些东西。
因此, var evenNumbers=[2,4] 似乎命名了 evenNumbers 变量,而不是数组的元素。我只是想仔细检查一下是不是这样。
【问题讨论】:
-
是什么让您认为 Javascript 是一种“类 Java 语言”?不是,Java 位只是来自 90 年代网景公司所做的旧营销噱头
-
这是来自 MDN 的 Statements and declarations 列表。没有
int关键字。 -
JavaScript,直到最近,只有 var 声明。 Let 和 const 在 ES6 中是新的。但是 legacy 将允许 var 继续作为有效代码
-
不要太在意这些细节。您可以使用
var代替let或const没有任何麻烦。它比那更简单。var是可变的,它可以存储任何类型的数据。您不必指定类型。可能是:var varName = [1, 2, 3].(数组)、var varName = "text".(字符串)。依此类推:对象、函数、int、布尔值。 -
是的,Liam 说的 ;) JavaScript 不是 Java。古老的智慧:Java 之于 JavaScript,就像火腿之于仓鼠一样。
标签: javascript arrays types casting var