Ich verstehe aber nicht was es mit diesem window-Objekt als parameter aufsich hat und was man damit machen kann
Es macht deutlich, dass das JavaScript für den Browser geschrieben ist. In node.js heißt das globale Objekt nicht window
sondern global
. Man kann also sofort sehen, dass das Programm eine Abhängigkeit an den Browser hat. Wenn man allerdings nicht auf den globalen Scope zugreift, sollte man ihn auch nicht in die Parameter-Liste mitaufnehmen. Der zweite Parameter undefined
ist ein Artefakt aus längst vergangen JavaScript-Tagen, in irgendeiner Uralt-Version war es nämlich möglich undefined
zu überschreiben.
Man kann sich diesen Affengriff heute sparen, indem man ein Modulsystem[1] einsetzt.