Scriptease.js: Über den Umgang mit Funktionen

    <   Beitrag   >    

    <   Thread   >    

Ergänzung zu anonymen Funktionen

Avatar von FriedChicken

FriedChicken

215 Beiträge

   E-Mail   
12.04.2012 22:02 Permalink
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

Thread-Anzeige einblenden

Anzeige