Gibt es eine Möglichkeit, eine Schließung in JavaScript leicht zu brechen? Die nächstgelegene ich bekommen habe, ist dies:Wie man Verschlüsse in JavaScript bricht
var src = 3;
function foo() {
return function() {
return src; }
}
function bar (func) {
var src = 9;
return eval('('+func.toString()+')')(); // This line
}
alert(bar(foo()));
Diese Drucke ‚9‘, statt ‚3‘, wie ein Verschluss diktieren würde. Dieser Ansatz erscheint mir jedoch irgendwie hässlich. Gibt es bessere Möglichkeiten?
Warum sollten Sie das jemals tun? O_o –
Was möchten Sie erreichen? Was Sie beschreiben, scheint nur eine völlig falsche Art zu sein, etwas zu tun zu wollen. –
Gosh, du sprichst buchstäblich den besten Teil von JavaScript mit seinem schlimmsten Teil ... Ich weine gerade jetzt; _; -1 –