我在阅读如何在 JavaScript 中获取查询字符串值?在 Stackoverflow 上,第一个回复中的这段代码让我想知道为什么这样使用“vars.push()”?
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
但不是这样:
var vars=[];
...
vars.push(hash[0]);
vars[hash[0]] = hash[1];
我重写了如下代码:
var vars={};
...
vars[hash[0]] = hash[1];
它有效。现在的问题是:
- 为什么有人会使用数组来进行这种回复?
- 为什么有人会使用
ARR.push(KEY)
然后再使用ARR[KEY]=VAL
格式?