Javascript-所有数组都是文本吗?

Javascript-所有数组都是文本吗?,javascript,arrays,literals,Javascript,Arrays,Literals,我读了一遍,对“文字”这个词的用法有点困惑。具体来说,Javascript中的所有数组都被视为“数组文字” 如果没有,请提供一个非文字数组的示例 如果是,请提供一个具有文字和非文字变体的变量示例(假设存在这样的变体),并解释它与数组的区别 数组文字是按以下方式创建的数组: let arr = [1,2,3]; 这就是我要做的。您还可以创建如下数组: let arr = new Array(10); 数组文字的功能是,您可以轻松地同时声明和初始化数组 let arr = []; // de

我读了一遍,对“文字”这个词的用法有点困惑。具体来说,Javascript中的所有数组都被视为“数组文字”

  • 如果没有,请提供一个非文字数组的示例
  • 如果是,请提供一个具有文字和非文字变体的变量示例(假设存在这样的变体),并解释它与数组的区别
数组文字是按以下方式创建的数组:

let arr = [1,2,3];
这就是我要做的。您还可以创建如下数组:

let arr = new Array(10);
数组文字的功能是,您可以轻松地同时声明初始化数组

let arr = [];  // declaring;

arr[0] = 1;
arr[1] = 2;
// etc. = initializing
通过使用数组文字语法,我们可以同时执行这些步骤,这样可以获得更简洁的代码

还有一种对象文字语法,如下所示:

let obj = {prop1: 1}
这是以下的简写:

let obj = new Object();

obj.prop1 = 1;
数组文字表示以代码形式编写的数组值,如下所示:
[4,5,6]

让数组1=[4,5,6];//使用数组literal创建的数组

控制台日志(array1)数组是一种值(可以存储在变量中,也可以传递给函数等)

数组文字是一种语法类型。具体而言,它指的是
[…]
(其中
..
是一个逗号分隔的值列表)

执行数组文字将在运行时创建数组。但是,还有其他创建阵列的方法:

var x = new Array();
x
包含一个不是从文本创建的数组

类似地,有各种各样的操作产生字符串,但只有
“…”
“…”
是字符串文字。

没有“文字数组”和“非文字数组”。区别在于“数组文字”和“数组值”。这里的“文字”表示源代码中的值。例如,下面是从数字文字(
42
)初始化的变量:

这里是一个变量被分配一个计算值;此行中有两个文本(
11
31
):

let b = 11 + 31;
同样地,
{}
是我们可以描述为“空数组”的值的文本<代码>[1,2,3]
是一个数组文本<代码>数组(1,2,3)将创建相同的数组,但它不是数组文字;它通过调用函数来计算数组


特别是对于编译语言,文本的值可以从已经“烘焙”到可执行文件中开始,这意味着在执行过程中不需要花费时间来分配和初始化它们;它们已经存在于可执行文件的数据部分中。例如,你可以在C和Java中看到这一点。

我认为只是句子的措辞让你感到困惑。让我用一种更容易理解的方式说:

var array = [1, 2, 3]**; 
这里,
[]
是数组文字,
1、2、3
是数组表达式

希望有帮助

您可以使用文字来表示JavaScript中的值。这些是您在脚本中提供的固定值,而不是变量

正如这个词解释的字面意义上的,就是我们字面上指定了一些值。它是JavaScript中的一种对象初始值设定项。

话虽如此,现在请回答您的问题:Javascript中的所有数组都被认为是“数组文本”吗?

注意:数组文字是对象初始值设定项的一种类型

对我来说,问题应该是JavaScript中的所有数组都是使用“数组文本”初始化的吗?因为数组文本不是一种类型,而是初始化数组的一种方式

可以使用以下不同方法初始化数组:

设x=新数组(4);
控制台日志(x.length);
设y=新数组('a','b');
控制台日志(y);
设z=[];//数组文字
控制台日志(z.长度);
设p=['a','b',6];//数组文字

控制台日志(p)我选择这个答案是正确的,因为它清楚地表明了文字作为语法特征的区别,并且回答了问题的所有方面。
var array = [1, 2, 3]**;