js中允许以键值対的方式来保存属性,并以下标的方式来访问,我们再手动给它加上一些类似数组的方法,便可以模拟出和数组一样的操作
//创建一个伪数组
let v = new Object();
v.length = 2;
v[0] = 'ok';
v[1] = 'hello';
v['a'] = 'aaa';
v[window] = 'window';
v['name'] = 'name1';
v.name = 'name2';
v.size = () => v.length;
//测试结果
alert(v.size()); //2
alert(v[1]); //hello
alert(v['a']); //aaa
alert(v[window]); //window
alert(v['name']); //name2