Scriptease.js: Über den Umgang mit Funktionen
Neuer Thread
Ansicht umschalten Baum an
Avatar von FriedChicken

FriedChicken

241 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

ARTIKELFOREN