JavaScript中的数组

car*_*995 3 javascript

在阅读有关JavaScript的书时,我偶然发现了一个例子:

var names = new Array("Paul","Catherine","Steve");
var ages = new Array(31,29,34);
var concatArray;
concatArray = names.concat(ages);
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么变量concatArray不需要定义为new Array()为了存储数组名称年龄的连接数据,但是当我尝试concatArray通过添加另一行代码" document.write(concatArray[0])" 来处理数组时,它就像一个数组一样工作,并向我显示存储在第一个元素中的数据.我只是想知道为什么我没有宣称它concatArray是一个新阵列,但它仍然可以作为一个整体.

And*_*are 6

您声明concatArray为新数组,但声明是隐含的.该concat函数返回一个新数组,其中包含原始两个数组的连接副本.该类型concatArray是从的返回类型推断concat功能.