Tengo problemas con una pregunta de Javascript desde hace un tiempo y no he podido encontrar una explicación en la web. Supongo que es porque no introduzco las palabras clave correctas que también podrían estar relacionadas con por qué estoy luchando con esto en absoluto.Las funciones de JavaScript son objetos?
Mi suposición básica es que es posible alterar objetos:
> var x = {'n': 2};
> x['n']
2
> x['n'] = 3;
3
pheww que funcionó. Pero aún así (las funciones son objetos, también):
> var addn = function(a) {
var n = 2;
return n + a;
}
> addn(3);
5
> addn['n'] = 3;
3
> addn(3);
5
Esta vez no he podido cambiar 'n'. ¿Hay alguna manera de solucionar esto manteniendo el sabor funcional? A diferencia de ir completamente OO. Una pregunta relacionada que tengo sería cómo mantener las dependencias de las funciones con el fin, por ejemplo, de probar, una vez más sin OO. Debido a que estoy buscando una solución, si es posible, también me gustaría saber qué mecanismo en Javascript me hace tener problemas.
Saludos,
Marcar
responsabilidad: mencionando OO no tiene intención de decir nada en contra OO. Y tampoco intento decir nada contra VI o Emacs. Si de alguna manera hiere tus sentimientos, omita este.
siempre puede pasar n como parámetro, pero asumo que no es lo que está preguntando. – Orbit
¿Qué quiere decir con _ "esta vez no pude cambiar 'n'" _? ¿'Addn ['n']' devuelve '3'? –
Con respecto a sus observaciones de OO: Está intentando * reinventar * OO, lo cual se ha hecho más que suficiente, incluso en JavaScript. ;) –