如上图所示
下面是我的理解:
1.可以给数组元素赋值undefined,此时该数组元素存在,它的值为undefined
2.省略数组直接量的值,该数组元素也存在,默认赋值为undefined
3.使用 var a = new Array(3),申请了内存空间,访问数组元素返回undefined,但是数组中的元素是不存在的
4.
var a = ['first','second'];
a[1001] = ['defined'];
此时a数组的长度是1002,空索引会自动被填充,并赋值undefined
拜托大神帮忙看看我哪里理解的不正确。
我看的时候的理解就是,没有自己显示赋值的,都是不存在的,也就是说是JS自动补充的undefined,而这个表示就是你没有定义它,但是你自己显示的定义undefined,JS就不会再说它是你没有定义的,而是你定义的undefined...,听起来很绕口,但是我这么理解感觉差不多了