javascript中的数组和对象

adi*_*adi 4 javascript arrays object

如果长度以数组的方括号表示法传递.它返回第一个元素.这里的基本逻辑是什么?

var foo= [];                                        
foo['0'] = 'hello';
foo[2] = {'fun': true};

foo[length];
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

如果你在浏览器中运行该代码,那是因为window对象(它是全局对象)有一个length属性,它是它具有的子浏览上下文(iframe等)的数量.这是0如果没有任何(这是经常发生的情况).在所有性能window对象是全局,所以length对自己是lengthwindow,那么foo[length]就是foo[0],这是"hello".

length与您的foo阵列无关.你的foo数组的长度是foo.length.如果你用它在你的最后一行,你会得到undefined的,因为在这一点上foo.length3和你的数组没有任何条目foo[3].