JavaScriptδημιουργήθηκε από προγραμματιστή Μπρένταν Άιχαπό το Netscape και παρουσιάστηκε τον Δεκέμβριο του 1995 με το όνομα LiveScript. Πολύ γρήγορα μετονομάστηκε σε JavaScript, αν και η επίσημη ονομασία της JavaScript είναι ECMAScript. Το ECMAScript αναπτύσσεται και διατηρείται από τον Διεθνή Οργανισμό ECMA (European Computer Manufacturers Association).

Τι είναι η JavaScript;
1) Η JavaScript είναι μια γλώσσα δέσμης ενεργειών ή σενάρια. Το σενάριο είναι κώδικα προγραμματισμού- ένα σύνολο οδηγιών που δεν απαιτεί προεπεξεργασία (για παράδειγμα, μεταγλώττιση) πριν από την εκτέλεση. Ο κώδικας JavaScript ερμηνεύεται από τη μηχανή του προγράμματος περιήγησης κατά τη φόρτωση μιας ιστοσελίδας. Ο διερμηνέας του προγράμματος περιήγησης αναλύει, επεξεργάζεται και εκτελεί το αρχικό πρόγραμμα ή ερώτημα, γραμμή προς γραμμή.

2) Η JavaScript είναι μια αντικειμενοστραφή γλώσσα με πρωτότυπη κληρονομικότητα. Υποστηρίζει πολλά ενσωματωμένα αντικείμενα και σας επιτρέπει επίσης να δημιουργήσετε ή να διαγράψετε τα δικά σας (προσαρμοσμένα) αντικείμενα. Τα αντικείμενα μπορούν να κληρονομήσουν ιδιότητες απευθείας το ένα από το άλλο, σχηματίζοντας μια πρωτότυπη αλυσίδα αντικειμένων.

JavaScript σε ιστοσελίδες

1. Σύνδεση σεναρίων στο έγγραφο html

Τα σενάρια JavaScript είναι ενσωματωμένο, δηλ. το περιεχόμενό τους είναι μέρος του εγγράφου και εξωτερικός, αποθηκευμένο σε ξεχωριστό αρχείο .js. Τα σενάρια μπορούν να ενσωματωθούν σε ένα έγγραφο html με τους εξής τρόπους:

ή το σώμα της σελίδας.

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

Ως χειριστής εκδηλώσεων.
Κάθε στοιχείο html έχει συμβάντα JavaScript που ενεργοποιούνται ορισμένη στιγμή. Πρέπει να προσθέσετε το απαραίτητο συμβάν στο στοιχείο html ως χαρακτηριστικό και να καθορίσετε την απαιτούμενη συνάρτηση ως τιμή αυτού του χαρακτηριστικού. Η συνάρτηση που πρέπει να κληθεί ως απόκριση σε ένα συμβάν πυροδότησης είναι χειριστής συμβάντων. Ως αποτέλεσμα της ενεργοποίησης του συμβάντος, ο κώδικας που σχετίζεται με αυτό θα εκτελεστεί. Αυτή η μέθοδος χρησιμοποιείται κυρίως για σύντομα σενάρια, για παράδειγμα, μπορείτε να ρυθμίσετε το χρώμα του φόντου να αλλάζει όταν κάνετε κλικ σε ένα κουμπί:

Μέσα στο στοιχείο

2. Τύποι δεδομένων και μεταβλητές σε JavaScript

Οι υπολογιστές επεξεργάζονται πληροφορίες – δεδομένα. Τα δεδομένα μπορούν να παρουσιαστούν σε διάφορες μορφές ή τύπους. Μεγάλο μέρος της λειτουργικότητας της JavaScript υλοποιείται μέσω ενός απλού συνόλου αντικειμένων και τύπων δεδομένων. Η λειτουργικότητα που σχετίζεται με συμβολοσειρές, αριθμούς και λογική βασίζεται στους τύπους δεδομένων συμβολοσειράς, αριθμού και boolean. Αλλα λειτουργικότητα, συμπεριλαμβανομένου κανονικές εκφράσεις, ημερομηνίες και μαθηματικές πράξεις, γίνεται χρησιμοποιώντας τα αντικείμενα RegExp, Date και Math.

Κυριολεκτικάστο JavaScript, είναι μια ειδική κατηγορία τύπων δεδομένων, σταθερές τιμές ενός από τους τρεις τύπους δεδομένων - συμβολοσειρά, αριθμητικό ή boolean:

"This is a string" 3.14 true alert("Hellow"); // Το "Hellow" είναι ένα κυριολεκτικό var myVariable = 15; // Το 15 είναι κυριολεκτικό

πρωτόγονο τύπο δεδομένωνείναι μια παρουσία ενός συγκεκριμένου τύπου δεδομένων, όπως συμβολοσειρά, αριθμητικό, boolean, null και undefined .

2.1. Μεταβλητές σε JavaScript

Τα δεδομένα που επεξεργάζονται το σενάριο JavaScript είναι μεταβλητές. Οι μεταβλητές ονομάζονται κοντέινερ που αποθηκεύουν δεδομένα (τιμές) στη μνήμη του υπολογιστή που μπορούν να αλλάξουν κατά την εκτέλεση του προγράμματος. Οι μεταβλητές έχουν όνομα, τύπουκαι έννοια.

όνομα μεταβλητής ή αναγνωριστικό, μπορεί να περιλαμβάνει μόνο γράμματα a-z, A-Z , τα ψηφία 0-9 (ένας αριθμός δεν μπορεί να είναι ο πρώτος χαρακτήρας σε ένα όνομα μεταβλητής), το σύμβολο $ (μπορεί να είναι μόνο ο πρώτος χαρακτήρας σε μια μεταβλητή ή όνομα συνάρτησης) και ο χαρακτήρας υπογράμμισης _ , δεν επιτρέπονται κενά . Το μήκος του ονόματος της μεταβλητής δεν είναι περιορισμένο. Είναι δυνατό, αλλά δεν συνιστάται, να γράφετε ονόματα μεταβλητών με γράμματα του ρωσικού αλφαβήτου, για αυτό πρέπει να γράφονται σε Unicode.

Δεν μπορείτε να χρησιμοποιήσετε λέξεις-κλειδιά JavaScript ως όνομα μεταβλητής. Τα ονόματα των μεταβλητών στο JavaScript κάνουν διάκριση πεζών-κεφαλαίων, που σημαίνει ότι το μήνυμα var. και varMessage? είναι διαφορετικές μεταβλητές.

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

Μεταβλητός αρχικοποιήθηκετιμή χρησιμοποιώντας τον τελεστή εκχώρησης = , για παράδειγμα, var message="Hellow"; , δηλ. η μεταβλητή μηνύματος δημιουργείται και αποθηκεύεται σε αυτήν αρχικόςΤιμή "γεια". Μια μεταβλητή μπορεί να δηλωθεί χωρίς τιμή, οπότε της εκχωρείται μια προεπιλεγμένη τιμή undefined . Η τιμή μιας μεταβλητής μπορεί να αλλάξει κατά την εκτέλεση του σεναρίου. Διαφορετικές μεταβλητές μπορούν να δηλωθούν στην ίδια γραμμή διαχωρίζοντάς τες με κόμμα:

Var message="Hellow", number_msg = 6, time_msg = 50;

2.2. Μεταβλητοί τύποι δεδομένων

Η JavaScript είναι μια μη πληκτρολογημένη γλώσσα· ο τύπος δεδομένων για μια συγκεκριμένη μεταβλητή δεν χρειάζεται να καθοριστεί όταν δηλώνεται. Ο τύπος δεδομένων μιας μεταβλητής εξαρτάται από τις τιμές που παίρνει. Ο τύπος μιας μεταβλητής μπορεί να αλλάξει κατά τη διάρκεια λειτουργιών με δεδομένα ( χύτευση δυναμικού τύπου). Η μετατροπή τύπου εκτελείται αυτόματα ανάλογα με το περιβάλλον στο οποίο χρησιμοποιούνται. Για παράδειγμα, σε εκφράσεις που περιλαμβάνουν αριθμητικές τιμές και τιμές συμβολοσειρών με τον τελεστή +, η JavaScript μετατρέπει τις αριθμητικές τιμές σε συμβολοσειρές:

Var μήνυμα = 10 + "ημέρες πριν από τις διακοπές"; // επιστρέφει "10 ημέρες μέχρι τις διακοπές"

Μπορείτε να λάβετε τον τύπο δεδομένων μιας μεταβλητής χρησιμοποιώντας τον τελεστή typeof. Αυτός ο τελεστής επιστρέφει μια συμβολοσειρά που προσδιορίζει τον αντίστοιχο τύπο.

τύπος 35; // επιστρέφει τον τύπο "number" του "text"; // επιστρέφει "string" typeof true; // επιστρέφει "boolean" typeof ; // επιστρέφει "αντικείμενο" type of undefined; // επιστρέφει "undefined" typeof null. // θα επιστρέψει "αντικείμενο"

Όλοι οι τύποι δεδομένων στο JavaScript χωρίζονται σε δύο ομάδες − απλόςτύπους δεδομένων (πρωτόγονοι τύποι δεδομένων)και σύνθετοςτύπους δεδομένων (σύνθετοι τύποι δεδομένων).

Προς την απλόςΟι τύποι δεδομένων περιλαμβάνουν συμβολοσειρά, αριθμητικό, boolean, null και underfined.

2.2.1. Τύπος συμβολοσειράς (string)

Χρησιμοποιείται για την αποθήκευση μιας σειράς χαρακτήρων που περικλείονται σε διπλά ή μονά εισαγωγικά. Ένα κενό σύνολο χαρακτήρων που περικλείεται σε μονά ή διπλά εισαγωγικά είναι μια κενή συμβολοσειρά. Ένας αριθμός που περικλείεται σε εισαγωγικά είναι επίσης μια συμβολοσειρά.

var χρήματα = ""; // κενή συμβολοσειρά, μηδέν χαρακτήρες var work = "test"; var day = "Κυριακή"; var x = "150";

Μπορείτε να συμπεριλάβετε ένα μεμονωμένο εισαγωγικό σε μια συμβολοσειρά με διπλά εισαγωγικά και το αντίστροφο. Ένα απόσπασμα του ίδιου τύπου διαφεύγει με τον χαρακτήρα ανάστροφης κάθετο \ (το λεγόμενο ακολουθία διαφυγής):

Document.writeln("\" Καλημέρα, Ιβάν Ιβάνιτς!\"\n"); // εμφανίζει "Καλημέρα, Ιβάν Ιβάνοβιτς!"

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

2.2.2. Αριθμητικός τύπος (αριθμός)

Χρησιμοποιείται για αριθμητικές τιμές. Αριθμοί σε JavaScriptείναι δύο τύπων: ακέραιοι (ακέραιος αριθμός)και αριθμούς κινητής υποδιαστολής (αριθμός κινητής υποδιαστολής). Οι ακέραιες τιμές μπορεί να είναι θετικές, όπως 1, 2, και αρνητικές, όπως -1, -2 ή μηδέν. 1 και 1,0 έχουν την ίδια τιμή. Οι περισσότεροι αριθμοί στο JavaScript γράφονται ως μετρικό σύστημαμπορούν επίσης να χρησιμοποιηθούν αριθμοί, οκταδικά και δεκαεξαδικά συστήματα.

ΣΤΟ δεκαδικόςσύστημα, οι τιμές των αριθμητικών μεταβλητών δίνονται χρησιμοποιώντας αραβικούς αριθμούς 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.

ΣΤΟ οκτάεδροςΗ μορφή αριθμών είναι μια ακολουθία που περιέχει τα ψηφία 0 έως 7 και ξεκινά με το πρόθεμα 0 .

Για δεκαεξαδικόΗ μορφή έχει πρόθεμα 0x (0X) ακολουθούμενη από μια ακολουθία αριθμών από 0 έως 9 ή γράμματα a (A) έως f (F), που αντιστοιχούν στις τιμές 10 έως 15.

Vara = 120; // ακέραια δεκαδική αριθμητική τιμή var b = 012; // οκταδική μορφή var c = 0xfff; // εξαγωνική μορφή var d = 0xACFE12; // δεκαεξαδική μορφή

Οι αριθμοί κινητής υποδιαστολής είναι αριθμοί με κλασματικό δεκαδικό μέρος ή είναι αριθμοί που εκφράζονται σε εκθετική μορφή. Ο εκθετικός συμβολισμός για τους αριθμούς είναι ο εξής: ένας αριθμός με κλασματικό δεκαδικό μέρος, ακολουθούμενο από το γράμμα e , το οποίο μπορεί να καθοριστεί είτε με κεφαλαία είτε με πεζά, ακολουθούμενο από ένα προαιρετικό σύμβολο + ή - και έναν ακέραιο εκθέτη.

Vara = 6,24; // πραγματικός αριθμός varb = 1.234E+2; // πραγματικός αριθμός, ισοδύναμος με 1,234 X 10² var c = 6,1e-2; // πραγματικός αριθμός, ισοδύναμος με 6,1 X 10‾²

2.2.3. Boolean τύπος (boolean)

Αυτός ο τύπος έχει δύο τιμές, true (true), false (false). Χρησιμοποιείται για σύγκριση και δοκιμή συνθηκών.

Var answer = επιβεβαίωση("Σας άρεσε αυτό το άρθρο;\n Κάντε κλικ στο OK. Εάν όχι, κάντε κλικ στο Cancel."); αν (απάντηση == αλήθεια) (ειδοποίηση ("Ευχαριστώ!"); )

Υπάρχουν επίσης ειδικοί τύποι απλών τιμών:
μηδενικός τύπος- Αυτός ο τύπος έχει μία τιμή null, η οποία χρησιμοποιείται για την αναπαράσταση ανύπαρκτων αντικειμένων.

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

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

2.3. Καθολικές και τοπικές μεταβλητές

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

Μεταβλητές που δηλώνονται σε ένα στοιχείο