Thread Ein paar Programmiertricks
(39 answers)
Opened by roooot at 2008-03-22 23:16 Struppi+2008-03-26 09:40:36-- Jeder Konstruktor ist eine Funktion (und damit ein Objekt) mit einem Attribut "prototype"! Also normale Funktionen "könnten" zu Konstruktoren werden, denn erst wenn man new auf sie anwendet, dann bekommen sie automatisch ein Unterobjekt prototype verpasst, sonst haben sie keins. Man kann technisch also sehr gut unterscheiden zwischen Instanzobjekten und Konstruktorobjekten, letztere sollte man immer "Groß" schreiben und stehen technisch in Analogie zu Klassendefinitionen. Bei diesem begetObject resp. clone Funktion werden im Grunde nur noch Konstruktorobjekte erzeugt und auf Instanzobjekte verzichtet. Struppi+2008-03-26 09:40:36-- Wirklich? constructor liefert mir in meinen Tests das Ende der prototype-chain, also Urahn und nicht den Vater. Struppi+2008-03-26 09:40:36-- für constructor-chaining mit SUPER kannst du ja apply und call benutzen. da der prototyp einer Klasse immer auch Instanz einer Superklasse ist muss man aufpassen, wie man Instanzen erzeugt, z.B. abhängig von den Parametern bei new. TMTOWTDYOG (there's more than one way to dig your own grave)
|