本质上,我正在尝试使用前一个数组(子分组)中的一个变量创建一个数组。子数组被创建并打印在页面上,但前一个数组仅打印第一个变量的前 3 个字母(A、N、D)
<script language="javascript">
var name = new Array("Andrew", "Harry", "Jacob");
document.write(name[0] + "<br />");
document.write(name[1] + "<br />");
document.write(name[2] + "<br />");
var andrew = name[0] = new Array("Andrew1", "Andrew2", "Andrew3");
document.write(andrew[0] + "<br />");
document.write(andrew[1] + "<br />");
document.write(andrew[2]);
</script>
这是一个棘手的问题,很好!
var name = new Array("Andrew", "Harry", "Jacob");
可能正在重写
window.name
:如果你添加类似的东西
document.write(name[0] + "<br />");
输出将是
Andrew,Harry,Jacob
作为字符串。
为了避免这种情况,您应该使用
const
(或 let
)而不是 var
,如下所示:
const name = new Array("Andrew", "Harry", "Jacob");
或者只是使用不同的名称。
我建议您了解一下
let
、const
和 var
之间的区别
(TL;DR: 只是出于不同原因避免使用
var
)。