当我们在JavaScript中声明Array(4)时会发生什么?

时间:2016-03-08 04:21:30

标签: javascript arrays

console.log(Array(4).join("hi"));
>> "hihihi"

我不知道到底发生了什么?

1 个答案:

答案 0 :(得分:1)

join()split()相反。而split通过你传递的分隔字符分隔一个数组,而join将把所有分隔每个元素的元素与你传递的任何参数组合起来。

在这种情况下,数组只是Array(4),因此有4个未定义的元素。结合这些将产生" undefined hi undefined hi undefined hi undefined"。

由于在这种情况下js不会actually treat undefined as anything,因此它会将其变为空字符串,而您获得的只是hihihi

编辑:join()文档中我最后一条语句的引用:

  

所有数组元素的字符串转换都连接成一个字符串。如果元素未定义或为null,则将其转换为空字符串。