pro in object 里面的pro可以是字符串或者数组索引,你这里0表示[undefined]数组的索引。这个数组只有一个,所以只有一个索引0
是var arr2 = new Array(1)这个?只是声明这个数组的长度是1,但是并没有arr2[0]这个元素,就当开辟了一段空间但是没使用吧
对的length为100的数组中可以只有一个元素
不等价,你希望通过索引访问数组中的元素,将字符串作为索引的话就会出问题。
他写的比较规范吧,应该是所有的声明写在前面,不然有的时候会涉及到变量提升
简单的说就是如果那个位置有值的话用in判断就返回true,反之则返回false。
arr.length才是数组arr的长度,row变量为arr对应【子数组】的元素,当i=0时,row=arr[0],数组arr的第一个元素赋值给row,并且row元素数组,row.length为arr第一个元素里的数组长度
看不懂多看几次....到这个粒度就不太好解释了,建议多看看基础。
返回什么这种问题。。。自己试一下
自己试一下
这就是稀疏数组啊,例如:
var arr = [];
arr[99] = 1;
99 in arr; // true
98 in arr; // false
虽然通过arr[99]使得数组长度变为100,但JavaScript并不会自动创建从0 ~ 98的其它Key。
这就是稀疏数组。