Estaba leyendo How can I get query string values in JavaScript? en Stackoverflow y este fragmento de código de la primera respuesta me hizo preguntarme por qué'vars.push() 'se usa así?¿Por qué array.push() se usa para hacer un objeto?
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;
}
Pero en lugar de esto:
var vars=[];
...
vars.push(hash[0]);
vars[hash[0]] = hash[1];
Reescribí el código como:
var vars={};
...
vars[hash[0]] = hash[1];
y funciona. Ahora las preguntas son:
- ¿Por qué alguien utilizar una matriz para ese tipo de respuesta?
- y ¿por qué alguien usaría
ARR.push(KEY)
y luego usaría el formatoARR[KEY]=VAL
después?
Cualquier langa que tenga punteros puede hacer POO. por lo que no hay lanzamientos de OOP, ya que OOP es una técnica de programación, no un paradigma de langage. no hay "objetos" en C pero puede hacer OOP en C. javascript es un idioma de procedimiento. Scheme o LISP no son, por ejemplo. – mpm