谈话很便宜; 我宁愿展示代码:
//global var
var siblings = [];
var rand = new Date().getTime();
siblings.push('uin_' + rand);
alert(siblings['uin_' + rand]); // undefined
Run Code Online (Sandbox Code Playgroud)
为什么未定义?我基本上想要实现的是拥有一个全局对象,该对象将成为存储其中保存有关其他对象的信息的存储.但回到我的问题.我推了价值然后我想提醒它但是未定义...为什么未定义?
.push将它追加到数组中,siblings[0]包含它,因为它是(以前)空数组中的第一个元素.
如果您想自己确定密钥,请执行
siblings = {};
siblings['key'] = 'something';
Run Code Online (Sandbox Code Playgroud)
否则,如果要访问每个元素,则循环遍历数组
for ( var l = siblings.length, i = 0; i<l; ++i ) {
alert( siblings[i] )
}
Run Code Online (Sandbox Code Playgroud)
注意:数组是对象,所以我可以siblings['key'] = 'something';在数组上设置,但这不是首选.