我正在閱讀Stackoverflow上的How can I get query string values in JavaScript?,這段代碼從第一個回覆中讓我想知道爲什麼'vars.push()'是這樣使用的?爲什麼使用array.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
格式?
任何有指針的語言都可以做OOP。所以沒有OOP語言,因爲OOP是一種編程技術,而不是語言範例。 C中沒有「對象」,但是你可以用C做OOP。javascript是一種程序語言。 Scheme或LISP不是例如。 – mpm 2012-04-07 09:10:20