这令人非常沮丧,特别是考虑到它的简单性。简单的javascript:
<script type="text/javascript">
var name = new Array("cat","dog");
document.write(name[1]);
</script>
此脚本打印:“a”(如“cat”中的“a”... aka name [0] [1] ...)。
然而,当我将其更改为document.write(name)时,它会打印整个数组(即“cat,dog”)。为什么对于上帝的爱是这个简单的数组无法打印整个字符串(应该是“狗”)?!
答案 0 :(得分:6)
全局变量name
引用现有的window.name
属性,该属性用于设置浏览器窗口的名称。它将分配给它的任何值转换为字符串:
window.name = [1, 2, 3];
console.log(typeof window.name, window.name);
如果您将变量名称更改为例如names
它将按预期执行。
在函数范围范围内使用name
当然可以正常工作。
答案 1 :(得分:-2)
你应该改用:
var name = ["cat", "dog"];
document.write(name[1]);