¿Hay alguna manera de romper un cierre fácilmente en JavaScript? El más cercano que he conseguido es la siguiente:Cómo romper los cierres en JavaScript
var src = 3;
function foo() {
return function() {
return src; }
}
function bar (func) {
var src = 9;
return eval('('+func.toString()+')')(); // This line
}
alert(bar(foo()));
Este imprime '9', en lugar de '3', como cierre dictaría. Sin embargo, este enfoque parece algo feo para mí, ¿hay alguna forma mejor?
¿Por qué alguna vez necesitarías hacer esto? O_o –
¿Qué estás tratando de lograr? Lo que estás describiendo parece ser un tipo completamente equivocado de cosas que quieres hacer. –
Gosh, estás golpeando literalmente la mejor parte de JavaScript con su peor parte ... Estoy llorando en este momento; _; -1 –