eine Funktion Laufen schafft einen Rahmen; "Tschüss" ist in diesem Bereich definiert; und dieser Bereich ist nie von außerhalb der Funktion sichtbar.
Wenn Sie Zugriff auf das IIFE haben, können Sie es so ändern, dass es diese Variable in den externen Gültigkeitsbereich exportiert.
Wenn diese IIFE innerhalb einer benannten Funktion in der gleichen Quer Herkunft als Ihr Code ist, können Sie die äußere Funktion anzeigen kann:
var toto = function() {
var test = "Hi";
(function() {
var test = "Bye";
// Outputs "Bye"
console.log(test);
})();
// Outputs "Hi"
console.log(test);
}
console.log(toto);
Außerhalb von diesen Fällen kann nichts getan werden; von Entwurf. Auch die herstellerübergreifende Einschränkung der Funktionscodeanzeige verhindert, dass Sie auf Code zugreifen, der Ihnen nicht gehört. Kluge Leute haben das durchdacht; Ich bezweifle, dass eine Hintertür existiert.
loswerden der 'var' – epascarello
Sie können nicht ohne Globals oder Rückrufe, das ist der springende Punkt. Siehe auch http://stackoverflow.com/questions/14373475/ –