41. JS Scope

Πεδίο εφαρμογής JavaScript


Το πεδίο εφαρμογής καθορίζει την προσβασιμότητα (ορατότητα) των μεταβλητών.


Πεδίο εφαρμογής συνάρτησης JavaScript

Στη JavaScript υπάρχουν δύο είδη πεδίων:

  • Τοπικό πεδίο
  • Καθολικό (global) πεδίο εφαρμογής

Η JavaScript έχει πεδίο συνάρτησης: Κάθε συνάρτηση δημιουργεί ένα νέο πεδίο εφαρμογής.

Το πεδίο εφαρμογής καθορίζει την προσβασιμότητα (ορατότητα) αυτών των μεταβλητών.

Οι μεταβλητές που ορίζονται μέσα σε μια συνάρτηση δεν είναι προσβάσιμες (ορατές) έξω από τη συνάρτηση.


Τοπικές μεταβλητές JavaScript

Οι μεταβλητές που δηλώνονται σε μια συνάρτηση JavaScript, γίνονται ΤΟΠΙΚΕΣ για τη συνάρτηση.

Οι τοπικές μεταβλητές έχουν πεδίο συνάρτησης: Μπορούν να είναι προσβάσιμες μόνο μέσα από τη συνάρτηση.

Παράδειγμα

// code here can NOT use carName

function myFunction() {
  var carName = "Volvo";

  // code here CAN use carName

}

Δοκιμάστε τον εαυτό σας »

Δεδομένου ότι οι τοπικές μεταβλητές αναγνωρίζονται μόνο μέσα στις συναρτήσεις τους, μεταβλητές με το ίδιο όνομα μπορούν να χρησιμοποιηθούν σε διαφορετικές συναρτήσεις.

Οι τοπικές μεταβλητές δημιουργούνται όταν ξεκινά μια συνάρτηση και διαγράφονται όταν ολοκληρωθεί η συνάρτηση.


Καθολικές (Global) μεταβλητές JavaScript

Μια μεταβλητή που δηλώνεται εκτός συνάρτησης, γίνεται GLOBAL .

Μια καθολική μεταβλητή έχει καθολική εμβέλεια : Όλες οι δέσμες ενεργειών και συναρτήσεις σε μια ιστοσελίδα μπορούν να έχουν πρόσβαση σε αυτήν. 

Παράδειγμα

var carName = "Volvo";

// code here can use carName

function myFunction() {

  // code here can also use carName

}

Δοκιμάστε τον εαυτό σας »


Μεταβλητές JavaScript

Στη JavaScript, τα αντικείμενα και οι συναρτήσεις είναι επίσης μεταβλητές.

Το πεδίο εφαρμογής προσδιορίζει την προσβασιμότητα μεταβλητών, αντικειμένων και συναρτήσεων από διαφορετικά μέρη του κώδικα.


Αυτόματα Global

Εάν ορίσετε μια τιμή σε μια μεταβλητή που δεν έχει δηλωθεί, θα γίνει αυτόματα μια μεταβλητή GLOBAL .

Αυτό το παράδειγμα κώδικα θα δηλώσει μια καθολική μεταβλητή carName, ακόμη και αν η τιμή εκχωρείται σε μια συνάρτηση.

Παράδειγμα

myFunction();

// code here can use carName

function myFunction() {
  carName = "Volvo";
}

Δοκιμάστε τον εαυτό σας »


Αυστηρή λειτουργία (Strict Mode)

Όλα τα σύγχρονα προγράμματα περιήγησης υποστηρίζουν τη λειτουργία JavaScript σε “Strict Mode”.

Θα μάθετε περισσότερα σχετικά με τον τρόπο χρήσης της αυστηρής λειτουργίας σε ένα επόμενο κεφάλαιο αυτού του σεμιναρίου.

Στην “αυστηρή λειτουργία”, οι μη δηλωμένες μεταβλητές δεν είναι αυτόματα καθολικές.


Καθολικές μεταβλητές σε HTML

Με τη JavaScript, το καθολικό πεδίο εφαρμογής είναι το πλήρες περιβάλλον JavaScript.

Στην HTML, η καθολική εμβέλεια είναι το αντικείμενο παραθύρου. Όλες οι καθολικές μεταβλητές ανήκουν στο αντικείμενο παραθύρου.

Παράδειγμα

var carName = "Volvo";

// code here can use window.carName

Δοκιμάστε τον εαυτό σας »


Προειδοποίηση

ΜΗΝ δημιουργείτε συνολικές μεταβλητές εκτός αν έχετε λόγο να κάνετε.

Οι συνολικές μεταβλητές (ή συναρτήσεις) μπορούν να αντικαταστήσουν μεταβλητές παραθύρων (ή συναρτήσεις).
Οποιαδήποτε συνάρτηση, συμπεριλαμβανομένου του αντικειμένου παραθύρου, μπορεί να αντικαταστήσει τις καθολικές μεταβλητές και τις συναρτήσεις σας.


Η διάρκεια ζωής των μεταβλητών JavaScript

Ο χρόνος ζωής μιας μεταβλητής JavaScript ξεκινά όταν δηλωθεί.

Οι τοπικές μεταβλητές διαγράφονται όταν ολοκληρωθεί η συνάρτηση.

Σε ένα πρόγραμμα περιήγησης ιστού, οι καθολικές μεταβλητές διαγράφονται όταν κλείνετε το παράθυρο του προγράμματος περιήγησης (ή την καρτέλα).


Ορίσματα συνάρτησης

Τα ορίσματα των συναρτήσεων (παράμετροι) λειτουργούν ως τοπικές μεταβλητές μέσα στις συναρτήσεις.


41. JS Scope

Κοινοποίηση

Share on facebook
Share on twitter

Ακολουθήστε μας

This website uses cookies to ensure you get the best experience on our website. By continuing to use this website, you agree to their use. To find out more, see here: Privacy Policy
Αρέσει σε %d bloggers: