Javascript字符串数组是否自动用逗号分隔

Are Javascript string arrays automatically separated by commas?

本文关键字:分隔 字符串 数组 是否 Javascript      更新时间:2023-09-26

看完这个讨论和这篇文章,我仍然有这个问题。假设我有以下代码片段:

var arr = new Array(3);
arr[0] = "Zero";
arr[1] = "One";
arr[2] = "Two";
document.write(arr.join(","));

如果我将document.write()行替换为document.write(arr);,它们是等效的吗?替换语句是否会自动连接以逗号作为分隔符的数组元素?

提前感谢!

"但是我不知道为什么"

这是因为所有东西都有toString功能作为其原型的一部分。当你写出它时,会调用此函数来获取它是什么的字符串表示形式。对于数组,默认处理与 join 相同。

Array.prototype.toString.apply([1,2,3]) == Array.prototype.join.apply([1,2,3])
> true

默认情况下,将数组传递给 document.write() 将用逗号分隔它们。

http://jsfiddle.net/XnW7V/

var arr = new Array(3);
arr[0] = "Zero";
arr[1] = "One";
arr[2] = "Two";
document.write(arr); //outputs Zero,One,Two