Matthes: Weiterführende Frage

Beitrag lesen

So, da bin ich wieder. :)

Ich habe noch ein wenig damit rumgespielt und festgestellt, dass ich zwei Navigationsleisten ansteuern soll. Ich fand es unschön das Skript zu kopieren. Da ich aus der objektorientierten Entwicklung komme, bin ich über die Konstruktorfunktionen gestolpert. Das funktioniert auch sehr gut. Meine Frage betrifft also kein Problem, sondern eher allgemeines Verständnis JavaScript betreffend:

Worin unterscheiden sich

1. var Navigation = { ... }

und

2. function Navigation(Argumente) { ... }

?

Von 1. kann man immer nur ein Objekt gleichzeitig haben, oder? Von zweitem kann man durch var nav = new Navigation(Argumente) soviele erzeugen wie man benötigt? Gibt es dabei etwas bestimmtes zu beachten?

Ich möchte den Code einmal bei Fiddle hinterlegen und deine Meinung dazu hören. Wenn ich es richtig verstanden habe ist var that = this nötig, sobald man eine weitere (innere) Funktion betritt, da der Kontext von this dann auf window steht?
Meine jetzige Implementierung hat glaube ich ausschließlich globale Funktionen? Sollte man sowas vermeiden? Mit privaten hat der Code leider nicht mehr funktioniert. Habe dort nur addEvent global gelassen, da dort ja von außen zugegriffen wird, funktionierte aber nicht.

Hier der Fiddle-Link:

http://jsfiddle.net/mXvrw/

Viele Grüße,
Matthias