b = new Array(2);
只是说,b是一个大小为二的数组.但阵列只是空的.它没有任何元素.所以,没有这样的索引.所以,0和1是不是在尚未有b.这些被称为洞.
b
0
1
但是,当你说
var a = [undefined, undefined];
你正在创建一个包含两个元素的数组.所以,它有undefined索引0和1.这就是为什么它们都存在于数组中.
undefined
注意:当您只是为变量赋值而不用var(let或const)声明它时,它将成为全局变量.
var
let
const