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语句是否自动使用逗号作为分隔符连接数组元素?
提前致谢!
"但我无法弄清楚为什么"
这是因为一切都有toString作为其原型的一部分的功能.当你把它写出来时,调用这个函数来获取它的任何字符串表示.对于数组,默认处理与join.
Array.prototype.toString.apply([1,2,3]) == Array.prototype.join.apply([1,2,3])
> true
Run Code Online (Sandbox Code Playgroud)