Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中声明数组(4)时会发生什么?_Javascript_Arrays - Fatal编程技术网

在JavaScript中声明数组(4)时会发生什么?

在JavaScript中声明数组(4)时会发生什么?,javascript,arrays,Javascript,Arrays,我不明白这里到底发生了什么?join()与split()相反。虽然split通过您传递的分隔字符分隔数组,但join会将分隔每个数组的所有元素与您传递的任何参数组合在一起 在这种情况下,数组只是数组(4),因此有4个未定义的元素。组合这些将产生“undefinedhiundefinedhiundefinedhiundefined” 由于js在本例中不起作用,因此它会将其转换为空字符串,得到的只是hihihi 编辑:参考join()文档中我的上一条语句: 将所有数组元素的字符串转换合并为一个字符串

我不明白这里到底发生了什么?

join()
split()
相反。虽然split通过您传递的分隔字符分隔数组,但join会将分隔每个数组的所有元素与您传递的任何参数组合在一起

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

由于js在本例中不起作用,因此它会将其转换为空字符串,得到的只是
hihihi

编辑:参考
join()
文档中我的上一条语句:

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


数组(4)
创建由4个
未定义的
元素组成的数组
join
将使用
hi
作为胶水加入数组,从而给出3个
hi
忽略
未定义的
s.@Tushar,但
未定义的
被忽略。@RayonDabre-未定义的元素仍在
中使用。join()
:@jfriend00,无法在日志中看到它们…@RayonDabre-输出不在控制台中,它就在JSFIDLE的输出窗口中。由于js实际上并不将未定义作为任何引用来捍卫此语句?编辑以反映您的评论的答案,这不是什么-它是一个空字符串。@Pabs123,太好了!谢谢:)
console.log(Array(4).join("hi"));
>> "hihihi"