Stavo leggendo How can I get query string values in JavaScript? su Stackoverflow e questo pezzo di codice della prima risposta mi ha fatto chiedere perché 'vars.push()' sia usato in questo modo?Perché array.push() è utilizzato per creare un oggetto?
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;
}
Ma invece di questo:
var vars=[];
...
vars.push(hash[0]);
vars[hash[0]] = hash[1];
ho riscritto il codice come:
var vars={};
...
vars[hash[0]] = hash[1];
e funziona. Ora le domande sono:
- perché qualcuno dovrebbe usare un array per quel tipo di risposta?
- e perché qualcuno dovrebbe utilizzare
ARR.push(KEY)
e quindi utilizzare il formatoARR[KEY]=VAL
in seguito?
qualsiasi langage con puntatori può fare OOP. quindi non esiste una lingua OOP, poiché OOP è una tecnica di programmazione, non un paradigma di langage. non ci sono "oggetti" in C ma si può fare OOP in C. javascript è una lingua procedurale. Schema o LISP non sono ad esempio. – mpm