Neuer Thread
Ansicht umschalten Baum an
Avatar von FriedChicken

FriedChicken

275 Beiträge seit 03.03.2006

12.04.2012 22:02 Permalink

Ergänzung zu anonymen Funktionen

Möchte man anonyme Funktionen als "Module" verwenden, sollte man
statt
> (function() {
> ...
>})()
besser
> (function(window) {
> ...
> })(window);
verwenden. Der JS-Interpreter sucht erst nach lokalen Variablen und
würde "window" erst zuletzt finden.

Sogar noch besser ist:
> (function(window, undefined) {
> ...
> })(window);
Damit ist sichergestellt, dass "undefined" auch tatsächlich undefined
ist (man beachte, dass der zweite Parameter nicht übergeben wird).

Originalkommentar von agilityjs.com:
> // Sandboxed, so kids don't get hurt. Inspired by jQuery's code:
> // Creates local ref to window for performance reasons (as JS looks up local vars first)
> // Redefines undefined as it could have been tampered with
Bewerten - +
Anzeige

THEMENFOREN

  • Re: c++ lernen: wie, wo?

    Forum: C/C++

    Brötchen backen.

  • Re: Frage zu Typumwandlung

    Forum: C/C++

    Wie meine Vorredner erwähnten, ist die Behandlung von in der Klasse internen Membern unterschiedlich. Grundsätzlich ist hinzufügend zu sagen,…

  • Re: VS 2010 LNK1104

    Forum: C/C++

    Versuche doch mal die Datei löschen, wenn VS sagt das es nicht zu öffnen geht. Wenn du sie nicht löschen kannst, dann hat, wie mein Vorredner…

  • Re: Erstellung DLL

    Forum: C/C++

    Hallo, exportiere doch die gesamte Klasse: namespace XY { class __declspec (dllexport) AB { public: double Do_Something(); private:…

ARTIKELFOREN