Estoy usando objetos para el espacio de nombres de mi código JavaScript. Estos objetos suelen contener funciones que se denominan mapeo del this
-pointer para el objeto mismo utilizando apply
. Sin embargo, me resulta incómodo utilizar el this
-pointer cada vez que deseo acceder a otras funciones o propiedades del objeto, especialmente porque en muchos casos utilizo el operador new
para usar objetos funcionales de la misma forma que usaría las clases. Preferiría escribir new Line()
en su lugar si new this.Line()
.¿Puede agregar dinámicamente variables locales a una función?
Sería estupendo si pudiera añadir variables locales a una función de la forma en que lo hace con php extract
(pseudocódigo siguiente, que es un poco más complicado)
var sample_object = {
"some_function": function() {}
}
test() {
extract(sample_object);
some_function(); // imported from sample_object
}
es eso posible?
Usted *podría* use un bloque 'with', pero no lo sugiero. También creo que se eliminó en el modo estricto de ES5. –
@Rocket Me gustaría no sugerir que sea parte si pudiera :-) Es cierto que funcionaría, pero 'with' es confuso y extraño. También estoy bastante seguro de que causa problemas de rendimiento, pero no recuerdo la explicación de eso. – Pointy
¿Qué pasa si pasa una matriz como argumento? – elvenbyte