Wenn ich eine Schließung wie der Code unten habe, wie ich den 'a' Parameter außerhalb der Schließung erhalten kann. JS-Engine-Verwendung Scope-Kette zu bekommen, um den Wert von 'a' zu finden, wenn ich die Schließung aufrufen, aber gibt es eine Chance, den 'a' Wert aus dem globalen Kontext zu bekommen?js closures, Funktionsparameter aus dem globalen Kontext abrufen
function fn(a){
function f(b){
console.log(a + " " + b);
}
f.a = a;
return f;
}
So können Sie tun:
function fn(a){
return function f(b){
console.log(a + " " + b);
}
}
BR, Igor
Warum sollte man das brauchen ??! –
Haha, ich habe jemanden darauf gewartet, das zu schreiben. : D Zum Spaß: D ich spiele mit Schließungen, also möchte ich wissen, ob das möglich ist? Vielleicht eval? –
Eval nicht verwenden! Und das wird hier nicht helfen. Es ist einfach unmöglich –