PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
Webdesign: HTML/CSS, Responsive Design, Sass...
Nachhilfe in ObjectKunde gesucht
Beitrag
<blockquote data-quote="keul3" data-source="post: 2600390" data-attributes="member: 53523"><p>Hi,</p><p></p><p>da bin ich wieder<img src="/styles/default/xenforo/smilies/biggrin.gif" class="smilie" loading="lazy" alt=":D" title="Big Grin :D" data-shortname=":D" /></p><p>Bin gerad dabei meinen Code aufzuräumen, und möchte dazu Klassen-ähnliche Objekte erstellen. Hier mal ein Beispiel:</p><p>[code=JavaScript]function MyClass()</p><p> {</p><p> this.myNumber = 42;</p><p> </p><p> function constructor()</p><p> {</p><p> console.log(this.myNumber) //undefined</p><p> }</p><p></p><p> constructor();</p><p> }</p><p> var myObject = new MyClass();</p><p> console.log(myObject.myNumber); //42[/code]</p><p>Wenn ich das jetzt richtig verstanden hab, stellt man mit <strong><em>this</em></strong> vars und functions quasi auf public. Das klappt soweit auch ganz gut. Das Problem ist jetzt, dass ich innerhalb der "Klasse" nicht an diese variablen rankomme. Was ich mit den Funktionen in etwa so hinbekomme:</p><p>[code=JavaScript]function MyClass()</p><p> {</p><p> ....</p><p> </p><p> this.public = private;</p><p> </p><p> function private()</p><p> {</p><p> ....</p><p> }</p><p> }[/code]</p><p>So kann ich die Funktion innerhalb und außerhalb verwenden. Bei einfachen Variablen stehe ich etwas auf dem Schlauch. Ich hab habs mal mit ner normalen Variable und nem Getter probiert.</p><p>[code=JavaScript]function MyClass()</p><p> {</p><p> var myNumber = 42;</p><p> </p><p> function constructor()</p><p> {</p><p> console.log(myNumber) //42</p><p> }</p><p></p><p> this.public = { get myNum() { return myNumber } };</p><p></p><p> constructor();</p><p> }</p><p> var myObject = new MyClass();</p><p> console.log(myObject.public.myNum);//42[/code]</p><p>Ich bekomme den Getter aber nicht vom object getrennt.<img src="/styles/default/xenforo/smilies/uhm.gif" class="smilie" loading="lazy" alt=":(" title="Frown :(" data-shortname=":(" /></p><p></p><p>Ich könnte auch ne einfache Funktion benutzen:</p><p>[code=JavaScript]function MyClass()</p><p> {</p><p> var myNumber = 42;</p><p> </p><p> function constructor()</p><p> {</p><p> console.log(myNumber) //42</p><p> }</p><p></p><p> this.getMyNumber = function () { return myNumber };</p><p></p><p> constructor();</p><p> }</p><p> var myObject = new MyClass();</p><p> console.log(myObject.getMyNumber());//42[/code]</p><p>Beide Lösungen finde ich ziemlich häßlich, auch denke ich, dass ich da ein kleines Verständnisproblem mit JS hab.</p><p>Ich hoffe ihr könnt mir weiterhelfen<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p><p></p><p>mfg keule</p><p></p><p></p><p>edit: das lässt mir keine Ruhe, neuer Versuch:</p><p>[code=JavaScript]function MyClass()</p><p> {</p><p> var _myNumber = 42;</p><p> </p><p> function constructor()</p><p> {</p><p> console.log(_myNumber) //42</p><p> }</p><p> </p><p> this.getMyNumber = function () { return _myNumber }</p><p> constructor();</p><p> }</p><p> MyClass.prototype = {</p><p> get myNumber() { return this.getMyNumber(); } }</p><p></p><p> var myObject = new MyClass();</p><p> console.log(myObject.myNumber);//42[/code]</p><p>Hab so jetzt meine private var und von draußen siehts ganz okay aus, aber innen total pfui, ne getter gibt ne function zurück welche wieder eine Variable ausgibt.... das ist furchtbar ........HIIIILFE<img src="/styles/default/xenforo/smilies/uhm.gif" class="smilie" loading="lazy" alt=":(" title="Frown :(" data-shortname=":(" /></p></blockquote><p></p>
[QUOTE="keul3, post: 2600390, member: 53523"] Hi, da bin ich wieder:D Bin gerad dabei meinen Code aufzuräumen, und möchte dazu Klassen-ähnliche Objekte erstellen. Hier mal ein Beispiel: [code=JavaScript]function MyClass() { this.myNumber = 42; function constructor() { console.log(this.myNumber) //undefined } constructor(); } var myObject = new MyClass(); console.log(myObject.myNumber); //42[/code] Wenn ich das jetzt richtig verstanden hab, stellt man mit [B][I]this[/I][/B] vars und functions quasi auf public. Das klappt soweit auch ganz gut. Das Problem ist jetzt, dass ich innerhalb der "Klasse" nicht an diese variablen rankomme. Was ich mit den Funktionen in etwa so hinbekomme: [code=JavaScript]function MyClass() { .... this.public = private; function private() { .... } }[/code] So kann ich die Funktion innerhalb und außerhalb verwenden. Bei einfachen Variablen stehe ich etwas auf dem Schlauch. Ich hab habs mal mit ner normalen Variable und nem Getter probiert. [code=JavaScript]function MyClass() { var myNumber = 42; function constructor() { console.log(myNumber) //42 } this.public = { get myNum() { return myNumber } }; constructor(); } var myObject = new MyClass(); console.log(myObject.public.myNum);//42[/code] Ich bekomme den Getter aber nicht vom object getrennt.:( Ich könnte auch ne einfache Funktion benutzen: [code=JavaScript]function MyClass() { var myNumber = 42; function constructor() { console.log(myNumber) //42 } this.getMyNumber = function () { return myNumber }; constructor(); } var myObject = new MyClass(); console.log(myObject.getMyNumber());//42[/code] Beide Lösungen finde ich ziemlich häßlich, auch denke ich, dass ich da ein kleines Verständnisproblem mit JS hab. Ich hoffe ihr könnt mir weiterhelfen:) mfg keule edit: das lässt mir keine Ruhe, neuer Versuch: [code=JavaScript]function MyClass() { var _myNumber = 42; function constructor() { console.log(_myNumber) //42 } this.getMyNumber = function () { return _myNumber } constructor(); } MyClass.prototype = { get myNumber() { return this.getMyNumber(); } } var myObject = new MyClass(); console.log(myObject.myNumber);//42[/code] Hab so jetzt meine private var und von draußen siehts ganz okay aus, aber innen total pfui, ne getter gibt ne function zurück welche wieder eine Variable ausgibt.... das ist furchtbar ........HIIIILFE:( [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ★ = 12, ◇ = 4 und die Hälfte von ★ zu ◇ addiert wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
Webdesign: HTML/CSS, Responsive Design, Sass...
Nachhilfe in ObjectKunde gesucht
Oben