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

sta*_*tor 0 javascript

阅读本讨论本文后,我仍然有这个问题.假设我有以下代码段:

var arr = new Array(3);
arr[0] = "Zero";
arr[1] = "One";
arr[2] = "Two";

document.write(arr.join(","));
Run Code Online (Sandbox Code Playgroud)

如果我更换document.write()线路document.write(arr);,它们是否相同?replacement语句是否自动使用逗号作为分隔符连接数组元素?

提前致谢!

Jam*_*rgy 5

"但我无法弄清楚为什么"

这是因为一切都有toString作为其原型的一部分的功能.当你把它写出来时,调用这个函数来获取它的任何字符串表示.对于数组,默认处理与join.

Array.prototype.toString.apply([1,2,3]) == Array.prototype.join.apply([1,2,3])
> true
Run Code Online (Sandbox Code Playgroud)