考虑这个例子:
var a, b, c, d;
a = new Array(1,2,3);
b = "dog";
c = new Array(42, "cat");
d = a.concat(b, c);
document.write(d); // outputs 1, 2, 3, dog, 42, cat - makes sense
我不明白的是:
alert(b[0]); // d
alert(b[1]); // o
.. etc.
我知道concat()
返回一个新的数组对象,但是为什么它将字符串“dog”分割成单独的数组元素?我本来希望b[0]
返回“狗”并b[1]
返回未定义的。对不起,如果这是一个愚蠢的问题:/