⊗jsPmDmThsA 357 of 505 menu

Der Vorteil von this in JavaScript

Aus dem bisher Gesagten ist der besondere Vorteil von this noch nicht offensichtlich. Schließlich wird innerhalb des Event-Handlers unser Element verfügbar sein – da die Variable elem für unsere Funktion func global sein wird:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { // hier ist die Variable elem mit unserem Element verfügbar }

Und es ist leicht einzusehen, dass der Inhalt von this und der Inhalt der Variable elem in unserem Fall gleich sind:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { console.log(elem === this); // gibt true aus }

Worin liegt nun der besondere Vorteil von this? Er zeigt sich, wenn wir mehrere Elemente haben, und an jedes dieselbe Funktion gebunden ist.

Sehen wir uns ein Beispiel an. Nehmen wir an, wir haben 3 Schaltflächen:

<input id="button1" type="submit" value="text1"> <input id="button2" type="submit" value="text2"> <input id="button3" type="submit" value="text3">

Holen wir uns ihre Referenzen in Variablen:

let button1 = document.querySelector('#button1'); let button2 = document.querySelector('#button2'); let button3 = document.querySelector('#button3');

Binden wir an diese Schaltflächen dieselbe Funktion:

button1.addEventListener('click', func); button2.addEventListener('click', func); button3.addEventListener('click', func);

Und innerhalb der Funktion geben wir this.value aus:

function func() { console.log(this.value); }

Das Ergebnis ist, dass wir drei Schaltflächen haben. Ein Klick auf jede Schaltfläche wird zum Aufruf der Funktion func führen. Dabei wird this bei jedem Klick eine Referenz auf die Schaltfläche enthalten, in der das Ereignis stattgefunden hat.

Das heißt, jeder Klick wird in der Konsole den value der Schaltfläche ausgeben, auf der geklickt wurde, aber dies wird ein und dieselbe Funktion func tun! Das ist der Vorteil der Verwendung von this.

Es sind 5 Absätze mit beliebigen Texten gegeben. Bei einem Klick auf einen beliebigen Absatz schreiben Sie ein Ausrufezeichen an das Ende seines Textes.

Es sind 3 Input-Felder gegeben, in denen beliebige Zahlen stehen. Beim Verlust des Fokus in einem beliebigen Input-Feld potenzieren Sie die darin stehende Zahl auf die Quadratzahl.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen