Παλαιότερα, δεν πίστευα ότι το Διαδίκτυο θα μπορούσε να προσφέρει τόσο εκτεταμένες ευκαιρίες για την ανάπτυξη της επιχείρησής μου, αλλά πέρασε ο καιρός και τελικά ανακάλυψα αυτόν τον κόσμο γεμάτο ευκαιρίες. Το Διαδίκτυο παρέχει την ευκαιρία να πουλήσουν τα προϊόντα τους, και τα πιο διαφορετικά. Κάθε μέρα ο αριθμός των χρηστών του Παγκόσμιου Ιστού αυξάνεται και ταυτόχρονα αυξάνονται οι δυνατότητές μας.

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

Πιστέψτε με, θα εξαρτηθεί από το πόσο ελκυστικός είναι ο ιστότοπος, εάν ένας τυχαίος χρήστης θα παραμείνει σε αυτόν ή όχι. Φυσικά, εάν κάποιος διαβάζει το site σας για πολύ καιρό, τότε θα σας συγχωρήσει για διάφορα λάθη που μπορείτε να κάνετε στη λειτουργικότητα του ιστότοπου. Αλλά για πρώτη φορά, η διεπαφή θα παίξει βασικό ρόλο στο να κάνει τον πελάτη να αρέσει στον ιστότοπό σας. Όπως λέει και η παροιμία, «τους χαιρετίζει τα ρούχα, τους συνοδεύει το μυαλό».

Αλλά για να φτιάξετε πρωτότυπα και αξέχαστα ρούχα για τον ιστότοπό σας, πρέπει να ξέρετε σε τι χρησιμεύει η javascript. Στην πραγματικότητα, χωρίς JavaScript είναι αδύνατο να υλοποιηθεί ένας όμορφος, λειτουργικός ιστότοπος. Επιπλέον, δεν θα είναι απαραίτητο να γεμίσετε τον ιστότοπο με τόνους κώδικα. Θα είναι αρκετό να προσθέσετε μόνο μερικές γραμμές και διαφορετικά κουμπιάκαι τα στοιχεία του μενού θα ζωντανέψουν, θα γίνουν πιο ελκυστικά. Παρεμπιπτόντως, ένα σενάριο JavaScript θα επιτρέψει την κύλιση στις εικόνες ενός χαρτοφυλακίου. Επιπλέον, μπορείτε να αυξήσετε περαιτέρω τη λειτουργικότητα της σελίδας κατά την εμφάνιση δεδομένων. Εδω επισης χρειάζεται javascript

Ίσως, πολλοί μπορεί να πιστεύουν ότι, για παράδειγμα, λειτουργεί σε ένα καλό CMS και δεν χρειάζεται καθόλου γνώση JavaScript για τη διαχείριση ενός τέτοιου ιστολογίου. Μπορείτε να βρείτε πολλά διαφορετικά modules και plugins στο δίκτυο, με τα οποία μπορείτε να βελτιώσετε σημαντικά τη λειτουργικότητα, να προσθέσετε δροσερά εφέ κ.λπ. Είναι αλήθεια ότι δεν πρέπει να ξεχνάμε ότι οι τεχνολογίες Ιστού δεν μένουν ακίνητες, όλα αλλάζουν συνεχώς. Επομένως, αξίζει να παρακολουθείτε συνεχώς την εμφάνιση νέων βιβλιοθηκών JavaScript, επειδή είναι πιθανό τα σημερινά πακέτα να σας επιτρέψουν να εφαρμόσετε αυτό που μόλις χθες φαινόταν σαν όνειρο. Γι' αυτό όταν μιλούν για ενημέρωση του ιστότοπου, εννοούν και τη χρήση JavaScript.

Τώρα για την εκμάθηση JavaScript. Για κάποιο λόγο, πολλοί άνθρωποι πιστεύουν ότι η μελέτη αυτής της γλώσσας προγραμματισμού είναι διαθέσιμη μόνο στην ελίτ. Αλλά στην πραγματικότητα δεν είναι. Οι προγραμματιστές Ιστού εργάζονται συνεχώς για τη δημιουργία νέων Στοιχεία JavaScript, που απλοποιούν πολύ τη σύνταξη και τη χρήση του. Επιπλέον, μπορείτε να χρησιμοποιήσετε τον κώδικα JavaScript στις σελίδες του ιστότοπού σας, εάν γνωρίζετε πώς να χρησιμοποιείτε τα κατάλληλα εγχειρίδια. Αυτό θα έρθει στη διάσωση υπέροχα μαθήματα βίντεο, με τη βοήθεια των οποίων ακόμη και ένας πλήρης λαϊκός σύντομο χρονικό διάστημαμπορεί να μάθει JavaScript.

Εκφράζω την ευγνωμοσύνη μου για την ενημερωτική υποστήριξη στον Evgeny Popov, τον συγγραφέα ενός αριθμού μαθημάτων βίντεο για τη δημιουργία ιστοσελίδων. Συμπεριλαμβανομένου του μαθήματος βίντεο "Javascript + jQuery για αρχάριους σε μορφή βίντεο

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

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

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

World of JavaScript

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

Έτσι, ο κύριος προγραμματιστής της JavaScript ήταν ο Bredan Eich. Αυτός, μαζί με μια ομάδα έμπειρων ειδικών, άρχισε να δημιουργεί μια νέα γλώσσα που μπορεί να ενσωματωθεί στο . Ήταν πολύ πίσω το 1995.

Κάποιοι από εσάς, βέβαια, μπορεί να πείτε: «Πόσο μακριά αν έπιασα εκείνη τη χρονιά». Στον κόσμο της πληροφορικής, τα πάντα εξελίσσονται με ιλιγγιώδεις ρυθμούς (νομίζω ότι έχετε δώσει προσοχή σε αυτό), νέα πλαίσια και τεχνολογικές λύσειςεμφανίζονται κυριολεκτικά κάθε μήνα.

Φυσικά, οι γλώσσες δεν κυκλοφορούν με τέτοια συχνότητα, αλλά οι περισσότερες από τις δημοφιλείς και πολλά υποσχόμενες γλώσσες δημιουργήθηκαν πριν από λιγότερο από 15 χρόνια (για παράδειγμα, το Swift παρουσιάστηκε μόλις πριν από 2 χρόνια). Έτσι οι εξελίξεις περνούν γρήγορα από την κατάσταση της «καινοτομίας» στην κατάσταση του «παλιού (παραδοσιακού) εργαλείου για τη δουλειά».

Πολύ συχνά, οι αρχάριοι μπερδεύουν τη JavaScript με την Java, δίνοντας προσοχή μόνο στο όνομα και δεν καταλαβαίνουν ποια είναι η πραγματική διαφορά.

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

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

JavaScriptείναι μια γλώσσα με δυνατότητα ενσωμάτωσης και ο κύριος σκοπός της είναι να κάνει τη σελίδα του διαδικτυακού πόρου διαδραστική, δηλ. πιο ευέλικτο και «επικοινωνιακό». Βασίζεται στο ECMAScript, το οποίο με τη σειρά του είναι το θεμέλιο για πολλές άλλες γλώσσες δέσμης ενεργειών.

Η JavaScript δεν πήρε αυτό το όνομα αμέσως. Αρχικά ονομαζόταν Mocha και στη συνέχεια μετονομάστηκε σε LiveScript. Ωστόσο, αποφασίστηκε να χρησιμοποιηθεί ένα πονηρό τσιπ μάρκετινγκ και να συμπεριληφθεί η λέξη «Java» στο όνομα του νέου προϊόντος. Παρεμπιπτόντως, κάθε εφαρμογή γραμμένη σε αυτή τη γλώσσα ονομάζεται σενάριο.

Χαρακτηριστικά JavaScript

Η σύγχρονη JavaScript είναι μια διερμηνευμένη γλώσσα. Αυτό σημαίνει ότι ο κώδικας του προγράμματος επεξεργάζεται και εκτελείται «ως έχει». Έτσι λειτουργούν τα σενάρια.

Εκτός από την ανάπτυξη ιστού, το JavaScript μπορεί να βρεθεί και σε άλλους τομείς. Με αυτό, γράφουν διαφορετικούς τύπους εφαρμογών, παιχνίδια, λογισμικό εφαρμογών και πολλά άλλα. Τα σενάρια μπορούν να εκτελεστούν παντού και όχι μόνο στο . Η κύρια προϋπόθεση είναι η παρουσία ενός διερμηνέα κώδικα.

Τα κύρια πλεονεκτήματα και δεξιότητες της JavaScript είναι:

  • Δυνατότητα δημιουργίας προσαρμοσμένων ετικετών στη σήμανση html, καθώς και κατάργησης και τροποποίησης υπαρχουσών.
  • Γρήγορη και εύκολη σύνδεση σε html.
  • Δυνατότητα απάντησης σε διάφορες ενέργειες χρήστη: κλικ, μετακίνηση του δρομέα σε μια ιστοσελίδα, πληκτρολόγηση χαρακτήρων στο πληκτρολόγιο κ.λπ.
  • Ικανότητα εργασίας σε συγκεκριμένες στιγμές.
  • ΑΛΛΗΛΕΠΙΔΡΑΣΗ jQueryκαι άγιαξ. Με τη βοήθεια της πρώτης τεχνολογίας, που είναι μια βιβλιοθήκη JavaScript, είναι ευκολότερο να εργαστείς με πολλά στοιχεία υπηρεσιών web, συμπεριλαμβανομένου του ajax. ΑϊάςΜε τη σειρά του, σας επιτρέπει να εφαρμόσετε ένα πολύ ωραίο κόλπο με τα αυτιά σας: να στείλετε πληροφορίες στην πλευρά του διακομιστή, να λάβετε απάντηση και να ενημερώσετε τα δεδομένα στην ιστοσελίδα χωρίς να την υπερφορτώνετε εντελώς.
  • Η προδιαγραφή JavaScript είναι ένα κοινό πρότυπο και επομένως υποστηρίζεται από όλα τα υπάρχοντα προγράμματα περιήγησης.
  • Υψηλή ταχύτητα.

Θέλω επίσης να σημειώσω ότι ο κώδικας που γράφεται σε JavaScript μπορεί μερικές φορές να αντικαταστήσει το css. Ωστόσο, υπάρχουν αρκετές αποχρώσεις εδώ.

Πρώτον, η λέξη κλειδί στην προηγούμενη πρόταση είναι "μερικές φορές". Ναι, κάποια χαρακτηριστικά εμφάνισηΟι υπηρεσίες Ιστού μπορούν να γραφτούν χρησιμοποιώντας σενάρια, αλλά όχι όλες.

Ακόμα, το css και το css3 ζουν για χάρη της εκπλήρωσής τους κύριος στόχος– εξασφάλιση υψηλής ποιότητας και πολυλειτουργικού σχεδιασμού ιστοσελίδων. Και πρέπει να τους δώσετε την τιμητική τους, γιατί αντιμετωπίζουν άψογα το έργο τους.

Δεύτερον, εάν είναι απαραίτητο, η αλλαγή της εμφάνισης των υπηρεσιών web που υλοποιούνται στη γλώσσα js θα είναι πολύ πιο δύσκολη και εντατική σε πόρους.

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

Για αρχή, δεν υπάρχει ισχυρή πληκτρολόγηση σε JavaScript. Αυτό μπορεί να ευχαριστήσει μόνο στην αρχή, όταν το κεφάλι επισκέπτονται σκέψεις: «Τέλος, δεν χρειάζεται να ασχολείστε με τους τύπους των μεταβλητών και τη μετατροπή τους».

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

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

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

Πώς συνδέεται ο κώδικας σεναρίου με την html;

Υπάρχουν διάφοροι τρόποι για να γίνει αυτό, τρεις για την ακρίβεια. Η επιλογή ενός από αυτά εξαρτάται από την ποσότητα του κώδικα και το ίδιο το έργο.

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

Ας ξεκινήσουμε με το πρώτο. Ένα μικρό κομμάτι κώδικα μπορεί να εισαχθεί στη γλώσσα σήμανσης χρησιμοποιώντας μια ειδική ετικέτα ζεύγους < σενάριο>. Σύμφωνα με τους καθιερωμένους κανόνες, το μέρος του σεναρίου, όπως και τα φύλλα στυλ, συνήθως γράφεται μέσα στο στοιχείο .

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

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

//σχόλιο

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

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

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

γενικές πληροφορίες

Πολλοί άνθρωποι, ακόμα και αυτοί που δεν έχουν καμία σχέση με τον τομέα της πληροφορικής, έχουν ακούσει τη λέξη Java. Μια επαναστατική γλώσσα ανεξάρτητη από πλατφόρμα για την οποία γράφονται ενεργά οι εφαρμογές κινητά συστήματα. Αναπτύχθηκε από την πολλά υποσχόμενη εταιρεία Sun, η οποία στη συνέχεια βρέθηκε υπό την πτέρυγα της Oracle. Αλλά καμία εταιρεία δεν έχει καμία σχέση με το JavaScript:

Η Sun χρειαζόταν μόνο άδεια για να χρησιμοποιήσει μέρος του ονόματος. Παραδόξως, η JavaScript δεν ανήκει σε καμία εταιρεία.

Κατά τη σύνταξη διαδικτυακών εφαρμογών, ο προγραμματισμός JavaScript χρησιμοποιείται συχνότερα. Συνοπτικά παρατίθεται βασικά χαρακτηριστικάδεδομένης γλώσσας, πρέπει να σημειωθούν τα ακόλουθα:

  • Προσανατολισμός αντικειμένων. Η εκτέλεση του προγράμματος είναι η αλληλεπίδραση αντικειμένων.
  • Η μετατροπή τύπου δεδομένων γίνεται αυτόματα.
  • Οι συναρτήσεις είναι αντικείμενα της βασικής κλάσης. Αυτή η δυνατότητα καθιστά την JavaScript παρόμοια με πολλές λειτουργικές γλώσσες προγραμματισμού όπως η Lisp και η Haskell.
  • Αυτόματος καθαρισμός μνήμης. Η λεγόμενη συλλογή σκουπιδιών κάνει το JavaScript να μοιάζει με C# ή Java.

Μιλώντας για την ουσία Εφαρμογές JavaScript, τότε αυτή η γλώσσα σάς επιτρέπει να "ζωντανεύετε" σταθερές σελίδες τοποθεσιών χρησιμοποιώντας κώδικα που μπορεί να εκτελεστεί για εκτέλεση ( τα λεγόμενα σενάρια). Δηλαδή, μπορείτε να σχεδιάσετε μια αναλογία με τα κινούμενα σχέδια, όπου τα html και css είναι χαρακτήρες που σχεδιάζονται και η JavaScript είναι αυτό που τους κάνει να κινούνται.

Αν μιλάμε για σύνταξη JavaScript, τότε έχει τα ακόλουθα χαρακτηριστικά:

  • Η εγγραφή είναι σημαντική. Οι συναρτήσεις που ονομάζονται func() και Func() είναι τελείως διαφορετικές.
  • Μετά τις δηλώσεις, πρέπει να βάλετε ένα ερωτηματικό.
  • Ενσωματωμένα αντικείμενα και λειτουργίες.
  • Οι χώροι δεν λαμβάνονται υπόψη. Μπορείτε να χρησιμοποιήσετε όσες εσοχές θέλετε, καθώς και νέες γραμμές, για το στυλ του κώδικά σας.

Ο απλούστερος κώδικας JavaScript μοιάζει με αυτό:

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

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

  • Ανάπτυξη διαδικτυακών εφαρμογών. Θέλετε να δημιουργήσετε έναν απλό μετρητή, να οργανώσετε τη μεταφορά δεδομένων μεταξύ των φορμών ή να τοποθετήσετε ένα παιχνίδι στον ιστότοπό σας; Τότε η JavaScript θα λειτουργήσει ως πιστός βοηθός σε αυτό το θέμα.
  • «Ενεργή Συμμετοχή» στο AJAX. Αυτή η τεχνολογία κατέστησε δυνατή τη σημαντική επιτάχυνση της εργασίας των εφαρμογών ανταλλάσσοντας δεδομένα με τον διακομιστή στη λειτουργία "παρασκηνίου":
  • Λειτουργικά συστήματα. Ίσως κάποιος να μην γνώριζε, αλλά τα Windows, το Linux και το Mac έχουν τους ανταγωνιστές του προγράμματος περιήγησης, των οποίων η μερίδα του λέοντος είναι γραμμένος σε JavaScript.
  • Εφαρμογές για κινητές συσκευές;
  • Σφαίρα μάθησης. Οποιαδήποτε ειδικότητα προγραμματισμού στο πανεπιστήμιο περιλαμβάνει τη μελέτη JavaScript σε έναν ή τον άλλο τόμο. Αυτό οφείλεται στο γεγονός ότι η γλώσσα αναπτύχθηκε αρχικά για όχι πολύ δυνατούς προγραμματιστές. Τα μαθήματα JavaScript είναι λογικά συνυφασμένα με το βασικό μάθημα HTML, επομένως το mastering είναι αρκετά απλό.

Πλεονεκτήματα και μειονεκτήματα

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

  • Η ανάγκη διασφάλισης της συμβατότητας μεταξύ των προγραμμάτων περιήγησης. Δεδομένου ότι η JavaScript λειτουργεί ως τεχνολογία Διαδικτύου, πρέπει να υπομένετε τους κανόνες που ορίζουν Ο Παγκόσμιος Ιστός. Ο κώδικας πρέπει να εκτελείται σωστά σε όλα, ή τουλάχιστον στα πιο δημοφιλή προγράμματα περιήγησης.
  • Το σύστημα κληρονομικότητας στη γλώσσα καθιστά δύσκολη την κατανόηση του τι συμβαίνει. Η JavaScript υλοποιεί κληρονομικότητα που βασίζεται σε πρωτότυπα. Οι άνθρωποι που έχουν σπουδάσει άλλες αντικειμενοστρεφείς γλώσσες προγραμματισμού είναι συνηθισμένοι στα γνωστά " η παιδική τάξη κληρονομεί την γονική τάξη". Αλλά στη JavaScript, αυτά τα πράγματα χειρίζονται απευθείας από αντικείμενα και αυτό δεν ταιριάζει στο κεφάλι.
  • Δεν υπάρχει τυπική βιβλιοθήκη. Η JavaScript δεν παρέχει ευκολίες για εργασία με αρχεία, ροές εισόδου/εξόδου και άλλα χρήσιμα πράγματα.
  • Η σύνταξη γενικά καθιστά δύσκολη την κατανόηση. Η ομορφιά του κώδικα σαφώς δεν είναι το δυνατό σημείο της JavaScript, αλλά τηρείται ο κύριος κανόνας των προγραμματιστών: " Εργα? Μην αγγίζετε!».

Τώρα αξίζει να σημειωθούν ορισμένα πλεονεκτήματα

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

Μην δίνετε προσοχή στο γεγονός ότι υπήρχαν περισσότερα μειονεκτήματα από συν. Η JavaScript είναι σταθερά εδραιωμένη στη θέση της και καμία κριτική γι' αυτήν από εκεί και πέρα αυτή τη στιγμήδεν θα νικήσει.

Για όσους θέλουν να σπουδάσουν

Ένας δύσκολος και μακρύς δρόμος βρίσκεται μπροστά για όσους έχουν αποφασίσει να μελετήσουν διεξοδικά τη JavaScript. Για αρχάριους, υπάρχουν βασικές συστάσεις, μετά από τις οποίες, μπορείτε να απλοποιήσετε πολύ την εκπαίδευσή σας.

  • Πρώτα απ 'όλα, HTML. Δεν μπορείτε να ξεκινήσετε να κάνετε τίποτα για το Διαδίκτυο χωρίς τα βασικά. Τα Cascading Style Sheets (CSS) είναι επίσης πολύ χρήσιμα.
  • Χρησιμοποιήστε νέα βιβλιογραφία. Ο προγραμματισμός δεν είναι φυσική, οι νόμοι της οποίας είναι απαραβίαστοι και τα νέα μαθήματα αφαιρούνται από τα παλιά. Οι τεχνολογίες πληροφορικής εξελίσσονται συνεχώς και οι χρήσιμες ενημερώσεις δεν πρέπει να παραμελούνται.
  • Προσπαθήστε να γράψετε μόνοι σας όλα τα μέρη του προγράμματος. Εάν κάτι δεν λειτουργεί καθόλου, μπορείτε να δανειστείτε τον κωδικό κάποιου άλλου, αλλά μόνο αφού διευκρινίσετε κάθε γραμμή για τον εαυτό σας.
  • Ο εντοπισμός σφαλμάτων είναι ο πραγματικός σας φίλος. Η γρήγορη εύρεση σφαλμάτων είναι ένα από τα καλύτερες στιγμέςστον προγραμματισμό?
  • Μην αγνοείτε τους κανόνες μορφοποίησης. Φυσικά, ο κώδικας δεν θα γίνει καλύτερος ή χειρότερος από διαφορετικό αριθμό εσοχών και διαστημάτων, αλλά η ευκολία ανάγνωσης και κατανόησης από τον προγραμματιστή είναι επίσης ένα σημαντικό σημείο. Κωδικός παρακάτω; πολύ δύσκολο να γίνει αντιληπτό, ειδικά αν δεν είσαι δικός του
  • Τα ονόματα των μεταβλητών πρέπει να έχουν λεξιλογική σημασία. Στη διαδικασία της συγγραφής απλά προγράμματαΔεν φαίνεται καθόλου σημαντικό, αλλά όταν ο αριθμός των γραμμών κώδικα ξεπερνά τις χίλιες, όλοι οι διάβολοι σπάνε τα πόδια τους.

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. Καθολικές και τοπικές μεταβλητές

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

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