⊗jsPmCxCM 440 of 505 menu

Δέσμευση του περιβάλλοντος μέσω της μεθόδου call στην JavaScript

Λοιπόν, έχουμε αναλύσει πώς πραγματικά λειτουργεί this. Ας εξετάσουμε τώρα τις μεθόδους που μας επιτρέπουν να καθορίσουμε υποχρεωτικά σε ποιο περιβάλλον καλείται μια συνάρτηση (δηλαδή να πούμε υποχρεωτικά, τι ισούται με this).

Η πρώτη μέθοδος που θα αναλύσουμε ονομάζεται call. Ας δούμε τη λειτουργία της με ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε ένα input:

<input id="elem" value="text">

Ας πάρουμε την αναφορά σε αυτό το input και ας την αποθηκεύσουμε σε μια μεταβλητή elem:

let elem = document.querySelector('#elem');

Ας δημιουργήσουμε τώρα μια συνάρτηση func, μέσα στην οποία θα εμφανίσουμε το this.value:

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

Προς το παρόν, η συνάρτησή μας δεν ξέρει σε τι αναφέρεται το this. Εάν την δέσμευαμε μέσω addEventListener, τότε ναι. Αλλά δεν θα το κάνουμε αυτό. Αντίθετα, απλά θα καλέσουμε τη συνάρτησή μας, λέγοντάς της ότι το this πρέπει να ισούται με elem.

Αυτό γίνεται ως εξής: func.call(elem). Αυτός ο κώδικας είναι ισοδύναμος με μια απλή κλήση της συνάρτησης func ως εξής: func(), μόνο με την προϋπόθεση ότι το this ισούται με elem.

Λοιπόν, η σύνταξη της μεθόδου call είναι: συνάρτηση.call(αντικείμενο). Ας συγκεντρώσουμε όλα μαζί:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // θα εμφανίσει το value του input } func.call(elem);

Δίνεται συνάρτηση:

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

Δίνονται τρία inputs:

<input id="elem1" value="text1"> <input id="elem2" value="text2"> <input id="elem3" value="text3">

Με τη βοήθεια της μεθόδου call και της συνάρτησης func εμφανίστε στην οθόνη το value κάθε input.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη