Tach!
Ich verstehe aber nicht was es mit diesem window-Objekt als parameter aufsich hat und was man damit machen kann
Was window ist, ist dir aber soweit klar? Es ist jedenfalls guter Stil, wenn man in einem abgegrenzen Raum ist, nicht auf Dinge zugreift, die sich außerhalb befinden. Tut man dies, hat man Abhängigkeiten, die man erst erkennt, wenn man den Code komplett gelesen hat. Es ist besser, sich diese Abhängigkeiten hereinreichen zu lassen. Dann weiß nicht nur der Aufrufer, was benötigt wird, er kann und muss sich auch darum kümmern, dass diese Abhängigkeiten zur Verfügung stehen. Und er kann dabei völlig frei entscheiden, wie er sie erfüllt.
In dem Fall braucht also die IIFE das window-Objekt. Man kann bei window im Prinzip davon ausgehen, dass das immer zur Verfügung steht. Man kann aber als Autor einer Bibliothek, die nicht nur im eigenen Haus eingesetzt werden soll, nicht davon ausgehen, dass der Anwender in jedem Fall das globale window-Objekt verwendet sehen möchte. Deshalb schafft man hier die Möglichkeit, dass ein beliebiges anderes Objekt übergeben werden kann.
dedlfix.