[Παίζει μουσική] DOUG LLOYD: Έτσι, από τώρα είμαστε παλιά επαγγελματίες στο web προγραμματισμό, σωστά; Και έχουμε καλύψει διάφορες γλώσσες σε μεμονωμένα βίντεο. Και τώρα ας κάνουμε ένα ακόμη, το JavaScript. Πρώτα τα καλά νέα, το JavaScript είναι ένα σύγχρονο προγραμματισμό γλώσσα μοιάζει πολύ με του οποίου την PHP σύνταξη προέρχεται από C, έτσι ώστε να είναι ένα καλό μέρος για να ξεκινήσετε. Είναι περίπου τόσο παλιά όσο και η PHP, καθώς και, αφού εδώ και περίπου 20 χρόνια. Ήταν εφευρέθηκε γύρω Την ίδια στιγμή η PHP. Και JavaScript είναι στην πραγματικότητα αρκετά θεμελιώδους σημασίας για την εμπειρία του χρήστη του ιστού. Στην πραγματικότητα, υπάρχουν τριών γλωσσών που Θα έλεγα το είδος του μακιγιάζ της εμπειρία του χρήστη να αλληλεπιδρά με την ιστοσελίδα, html, CSS και JavaScript. Και έτσι τώρα ας μιλήσουμε λίγο για το JavaScript. Τα άσχημα νέα, όμως, είναι με JavaScript ότι θέτει πολλούς κανόνες για τον εαυτό της, και στη συνέχεια να τους παραβιάζει. Και την Javascript μπορεί πραγματικά να είναι είδος δύσκολο να μάθουν, επειδή είναι σε αντίθεση με C και PHP, η οποία είναι πολύ δομημένη και έχουν πολύ άκαμπτοι κανόνες για το πώς τα πράγματα μπορούν να λειτουργήσουν. JavaScript έχει είδος του πάρει τόσο ευέλικτο ότι ίσως τα πράγματα δεν πρόκειται να λειτουργεί με τον τρόπο που τους περιμένουν να, και ίσως πραγματικά δεν μπορούν να μάθουν πρώτη μας γλώσσα προγραμματισμού ως το JavaScript. Έτσι, ίσως επειδή δεν το κάνει έθεσε κάποιοι κανόνες, και πραγματικά δεν το κάνει εφαρμοστεί η ορθή κωδικοποίησης συνήθειες. Αλλά τώρα έχουμε αναπτύξει ελπίζουμε κάποιες καλές συνήθειες κωδικοποίησης, και έτσι μπορούμε να αρχίσουμε να επιδρομή σε JavaScript λίγο. Για να γράψετε το JavaScript, παρόμοιο με το άνοιγμα μέχρι ένα αρχείο C με μια τελεία Γ επέκταση ή ένα αρχείο PHP με μια επέκταση της PHP τελεία, το μόνο που χρειάζεται να κάνετε είναι να ανοίξετε ένα αρχείο με την τελεία JS επέκταση αρχείου. Δεν χρειάζεται να έχει κάποια ιδιαίτερη διαχωριστικά όπως κάναμε στην PHP. Αυτό το είδος της γωνίας βραχίονα ερωτηματικό PHP ότι έχουμε συνηθίσει από αυτό, με τον τρόπο λέμε πρόγραμμα περιήγησής μας ότι αυτό που έχουμε είναι JavaScript είναι με τη συμπερίληψη το σε έναν html tag, και θα δούμε λίγο για πώς να το κάνουμε αυτό σε μια στιγμή. Το άλλο πράγμα που καθιστά JavaScript διαφορετικά, όμως, είναι ότι τρέχει πλευρά του πελάτη. Έτσι, υπενθυμίζουν ότι με την PHP δεν θα μπορούσαμε ποτέ πραγματικά να δείτε η PHP που υπογράμμισε μια ιστοσελίδα. Αν έχουμε δει ποτέ το σελίδα πηγή, θα θέλαμε μόνο δείτε το html που ήταν θα προέλθουν από αυτήν την PHP. Αλλά το JavaScript τρέχει πλευρά του πελάτη. Το JavaScript σας τρέχει στον υπολογιστή σας. Και γι 'αυτό μπορείτε να κάνετε πράγματα, όπως να προσθέσετε αποκλειστές. Δικαίωμα? Φραγή διαφημίσεων γίνεται συνήθως με θανάτωση όλων των JavaScript που εκτελείται σε μια συγκεκριμένη ιστοσελίδα. Και επειδή αυτό θα πρέπει να τρέχει από την πλευρά του πελάτη του μηχανήματος σας, μπορείτε να σταματήσετε μόνο η Javascript για τρέξιμο εξ ολοκλήρου. Αυτό σημαίνει επίσης ότι όταν χρησιμοποιείτε μια ιστοσελίδα που περιλαμβάνει JavaScript, θα πρέπει να στείλετε την πηγή JavaScript Κωδικός ως μέρος της απόκρισης HTTP σας στον πελάτη, όταν το ζητούν. Και έτσι ίσως δεν θέλετε να χρησιμοποιήσετε το JavaScript να κάνει τα πράγματα πολύ ευαίσθητα όπως το πέρασμα των πληροφοριών σχετικά με τους κωδικούς πρόσβασης των χρηστών πλάτη και εμπρός, επειδή είναι στην πραγματικότητα πρόκειται να λάβει όλα του πηγαίου κώδικα, όχι μόνο η HTML που δημιουργείται, όπως θα ήταν η περίπτωση με το λόγο της PHP. Επομένως, πώς θα περιλαμβάνουν το JavaScript σε html μας για να αρχίσει με; Λοιπόν, παρόμοιο με CSS, στην πραγματικότητα, είναι είδος για το πώς να το κάνουμε εδώ. Με CSS έχουμε ετικέτες στυλ. Και μέσα από αυτές τις ετικέτες στυλ, μπορούμε να ορίσουμε ένα φύλλο στυλ CSS. Ομοίως με JavaScript μπορούμε να ανοίξουμε ετικέτες δεσμών ενεργειών, μια άλλη ετικέτα HTML δεν το κάναμε μιλάμε για το βίντεο σε html μας, και να γράψει το JavaScript στον μεταξύ αυτών των ετικετών σενάριο. Επίσης όμως, όπως CSS, εμείς Θα μπορούσε να συνδεθεί σε εξωτερικό CSS αρχεία και να τους τραβήξει στο πρόγραμμά μας με αυτόν τον τρόπο. Με CSS μπορούμε επίσης, με συγχωρείτε, με JavaScript Μπορούμε επίσης να καθορίσετε την πηγή ιδιότητα της ετικέτας του σεναρίου να συνδεθούν σε JavaScript ξεχωριστά, έτσι ώστε να μην Πρέπει να το γράψετε στο μεταξύ των ετικετών σενάριο, εμείς μπορεί να συνδεθεί με τη χρήση ότι ετικέτα script, καθώς και. Και ακριβώς όπως με την περίπτωση με CSS όπου συνιστούμε ότι ήταν πιθανώς προς το συμφέρον σας να γράψετε CSS σας σε ένα ξεχωριστό αρχείο, σε περίπτωση θα πρέπει να το αλλάξετε, Ομοίως εμείς προτείνουμε ότι έχετε γράψει σας JavaScript σε ξεχωριστά αρχεία και να χρησιμοποιήσετε την πηγή ετικέτες σενάριο αποδίδουν για να δέσει το JavaScript σας σε html σας, την ιστοσελίδα σας. Έτσι JavaScript μεταβλητές, θα αρχίσουμε να μιλάμε για τη σύνταξη εδώ. Και θα περάσει Αυτό το είδος του γρήγορα, επειδή έχουμε κάνει αυτό σε PHP, έτσι Αυτό θα πρέπει όλοι να είναι αρκετά εξοικειωμένοι. Έτσι, οι μεταβλητές είναι σε JavaScript πολύ παρόμοια με PHP μεταβλητές. Δεν υπάρχει κανένας τύπος προσδιοριστή, και όταν σας παρουσιάσουμε μια μεταβλητή, μπορείτε να το πρόθεμα με τη λέξη-κλειδί var. Στην PHP θα κάνουμε κάτι όπως αυτό, το σύμβολο του δολαρίου x. Αυτό είναι το πώς θα αναγράφεται μια μεταβλητή, αλλά όχι, Δεν αναφέρω τον τύπο της μεταβλητής καθόλου. Θα πω κάτι σαν σύμβολο του δολαρίου το x ισούται με 44 στην PHP. Αν κάναμε το ίδιο πράγμα σε JavaScript, θα λέγαμε var x ισούται με 44. Έτσι var είναι το είδος του τρόπου μας της εισαγωγής μιας μεταβλητής. Αυτό είναι ίσως λίγο πιο διαισθητικό απλώς σύμβολο του δολαρίου μεταβλητή. Πάλι, δεδομένου ότι δεν υπάρχει τύπους δεδομένων, θα μπορούσαμε να το κάνουμε αυτό με οποιοδήποτε τύπο δεδομένων, χορδές, οτιδήποτε άλλο θα είναι όλα var. Υποθετικοί, όλοι μας παλιούς φίλους από το C και PHP είναι ακόμα διαθέσιμα, έτσι έχουμε αν, else if, αλλιώς, διακόπτη και ερώτηση σήμα του παχέος εντέρου. Διακόπτης υπόλοιπες τόσο ευέλικτο όσο το ήταν σε PHP, αλλά όλα αυτά είστε εξοικειωμένοι με την μέχρι τώρα. Και ομοίως με θηλιές είναι τα παλιά αγαπημένα της, ενώ, ενώ κάνει, και για ακόμη στη διάθεσή μας. Έτσι, ήδη γνωρίζουμε πολλά από τα βασικές JavaScript είδος των μεγεθών ακριβώς λόγω του ότι έχουν πολύ λίγο της γνώσης τώρα περίπου C και PHP. Τι γίνεται με τις λειτουργίες σε JavaScript; Λοιπόν, παρόμοια με PHP κάθε λειτουργία είναι εισάγεται με τη λέξη-κλειδί λειτουργία. Λέτε λειτουργία, και στη συνέχεια να αρχίζουν να ορίσετε τη λειτουργία σας. Τι είναι λίγο διαφορετικό περίπου JavaScript, αν και είναι η ικανότητα να έχουμε αυτό που ονομάζεται μια ανώνυμη λειτουργία. Έτσι, μπορείτε να ορίσετε λειτουργίες ότι δεν έχουν όνομα. Αυτό είναι κάτι που Πραγματικά δεν έχω ξαναδεί. Θα χρησιμοποιήσουμε πραγματικά την έννοια ενός ανώνυμου λειτουργίας λίγο αργότερα σε αυτό το βίντεο, γιατί αυτό θα κάνει λίγο περισσότερο νόημα στο πλαίσιο όταν το βλέπουμε σε μια συγκεκριμένη κατάσταση ότι έχω δημιουργημένο εδώ. Αλλά ας ρίξουμε μια ματιά σε ό, τι ένα απλό JavaScript λειτουργία μπορεί να μοιάζει. Έτσι έχω πάει μπροστά και να άνοιξε CS50 IDE μου και έχω ήδη τρέχει Apache να αρχίσει server μου τρέξιμο. Και έχω αυτό το αρχείο ανοίγουν ονομάζεται home.html. Και εγώ θα κάνετε ζουμ σε λίγο εδώ. Και βασικά, μπορείτε να δείτε το Home.html είναι απλώς ένα μάτσο κουμπιά. Και είμαι υποστηρίζοντας στην κορυφή εδώ ότι αυτό είναι το τμήμα JavaScript υλικά. Έτσι, υπάρχει μια δέσμη των κουμπιών εδώ, αλλά τι αυτά τα κουμπιά πραγματικά να κάνουμε; Λοιπόν, εμείς θα το κεφάλι πάνω σε IED μου, και έχω home.html ανοίξει εδώ. Στην αρχή, Εδώ είναι όπου είμαι σύνδεση σε όλα τα JavaScript αρχεία προέλευσης μου. Δικαίωμα? Έτσι έχω anonymous.js, clock.js, Είμαι χρησιμοποιώντας το χαρακτηριστικό πηγής της ετικέτας σενάριο για τη σύνδεση στο αρχείο. Γι 'αυτό και δεν έχω γράψει οποιοδήποτε Το JavaScript απευθείας σε αυτό το αρχείο, αλλά έχω τραβήξει σε όλα τα Το JavaScript έχω γράψει χωριστά. Και αν μετακινηθείτε προς τα κάτω εδώ, αυτό Πρέπει όλοι να δούμε κάπως εξοικειωμένοι με ένα μικρό κομμάτι της νέας σύνταξης. Έχουμε εδώ header ετικέτα για λειτουργίες και, στη συνέχεια, ένα κουμπί. Έχω μια είσοδο που είναι ένα κουμπί τύπου, και προφανώς όταν το κλικ, Πάω να καλέσω μερικούς λειτουργούν σήμερα σε εγρήγορση. Και αυτό είναι το πώς μπορούμε να το είδος της μπερδέψετε λίγο JavaScript και HTML. Στην πραγματικότητα παίζουν πολύ όμορφα μαζί, και έτσι προφανώς όταν Κάνω κλικ σε αυτό το κουμπί, θα πάω να καλέσει κάποια ημερομηνία ειδοποίησης λειτουργία. Και ομοίως έχω ορίζεται συμπεριφορές για όλα τα άλλα κουμπιά που είναι σε αυτή τη σελίδα home.html, η οποία θα κρατήσει την επιστροφή με κατά τη διάρκεια αυτού του βίντεο. Αλλά ας πάμε πίσω μέχρι εδώ και ρίξτε μια ματιά σε clock.js, η οποία είναι η Αρχείο JavaScript που έχω έγραψε ότι έχει αυτή την πρώτη λειτουργία θα πάμε να ρίξουμε μια ματιά στο. Όπως μπορείτε να δείτε, αρχίζω JavaScript μου Με τη λειτουργία λέξη-κλειδί, και έχω δώσει αυτό το όνομα, λέγεται ημερομηνία ειδοποίησης. Στο εσωτερικό του υπάρχει, προφανώς θέλω να δημιουργήσετε ένα νέα τοπική μεταβλητή που ονομάζεται τρέχουσα ημερομηνία. Και Πάω να αναθέσει ίσος με νέα ημερομηνία. Και θα μπορούσαμε να πάρουμε σε πολλά λεπτομέρεια ως προς το τι είναι μια ημερομηνία, και πραγματικά είναι τόσο JavaScript μεγάλη που δεν μπορούμε ενδεχομένως καλύψει τα πάντα σε ένα βίντεο. Αλλά αρκεί να πούμε, αυτό θα να επιστρέψει σε μένα ένα στοιχείο δεδομένων τα οποία συμπυκνώνει την τρέχουσα ημερομηνία και ώρα. Είμαι αποθήκευση ότι σε μια μεταβλητή που είμαι προφανώς πρόκειται να ειδοποιήσει την τρέχουσα ημερομηνία. Λοιπόν, τι κάνει συναγερμού τρέχουσα ημερομηνία βλέμμα αρέσει; Ας ρίξουμε μια ματιά στο ίδιο το αρχείο πλάτη πάνω στο παράθυρο του browser. Έτσι και πάλι, αυτό είναι το κουμπί ότι I έχουν συνδέσει με, αυτή που ονομάζεται λειτουργία. Και κάνω κλικ εκεί και Κοιτάξτε τι έκανε, θα ειδοποιηθούν. Το έσκασε αυτό το είδος του κουτιού λέει μένα ότι η τρέχουσα ώρα είναι, προφανώς είναι Νοέμβριος 4 στο 10:43:43 το πρωί. Και αν κάνω κλικ ξανά, τώρα Είναι λίγα δευτερόλεπτα αργότερα, σωστά; Έτσι όλα αυτά η λειτουργία αυτή. Όταν κάνω κλικ σε αυτό το κουμπί, το αναδύεται ένα μήνυμα προειδοποίησης για μένα. Έτσι, δεν υπάρχει πραγματικά πάρα πολύ με τις λειτουργίες αυτό είναι διαφορετικό από την PHP, μόνο ένα μικρό κομμάτι της νέας σύνταξης ότι έρχεται με την εργασία με JavaScript. Πίνακες σε JavaScript είναι αρκετά απλή. Για να δηλώσετε έναν πίνακα, μπορείτε να χρησιμοποιήσετε η σύνταξη αγκύλες ότι είμαστε εξοικειωμένοι με από την PHP. Και παρόμοια με την PHP, μπορούμε Επίσης, μπορείτε να συνδυάζετε διαφορετικούς τύπους δεδομένων. Έτσι, αυτή η διάταξη, τόσο αυτών των πινάκων θα είναι απολύτως θεμιτό το JavaScript. Ένας που είναι όλα ακέραιοι, και ένα που αναμειγνύονται διάφοροι τύποι δεδομένων. Τι είναι κάτι πολύ διαφορετικό σε JavaScript, όμως; Αυτή είναι η έννοια ενός αντικειμένου. Έτσι, ίσως έχετε ακούσει αντικειμενοστρεφή προγραμματισμό. Εμείς δεν κάνουμε πολλά από αυτά σε CS50, αλλά θα κάνουμε ένα μικρό κομμάτι από αυτό εδώ, στο πλαίσιο της JavaScript. Τώρα το JavaScript έχει τη δυνατότητα να συμπεριφέρονται ως αντικειμενοστραφή προγραμματισμό γλώσσα, αλλά δεν είναι το ίδιο αποκλειστικά ένα αντικείμενο προσανατολισμένο γλώσσα προγραμματισμού. Και αυτό έρχεται και πάλι πίσω, γιατί είπα, μπορεί να είναι πολύ δύσκολο να μάθετε JavaScript ως πρώτη προγραμματισμού σας γλώσσα, επειδή δεν ταιριάζουν πραγματικά ένα συγκεκριμένο παράδειγμα. C από την άλλη πλευρά είναι μια λειτουργική γλώσσα προγραμματισμού. Αν θέλουμε, οι λειτουργίες είναι το είδος της μεγάλο αφεντικό άνθρωπος, έτσι δεν είναι; Υπαγορεύουν τι Συμβαίνει ό, τι άλλο. Θέλουμε να αλλάξουμε τις μεταβλητές, καλούμε λειτουργίες. Εμείς κάνουμε τα πράγματα να λειτουργεί. Αντικείμενα αντ 'αυτού, σε μια αντικειμενοστρεφή γλώσσα, αντικείμενα είδος γίνει το αστέρι και λειτουργίες είναι το είδος της δευτεροβάθμιας. Αλλά αυτό είναι ένα αντικείμενο, τι Είναι αυτή η έννοια ενός αντικειμένου; Λοιπόν, αν αυτό βοηθάει, σκεφτείτε γι 'αυτό κατά την πρώτη ταξινόμηση σαν μια δομή C ή ένα struct ότι έχουμε μάθει για το παρελθόν. Στην C, μια δομή περιέχει ένας αριθμός πεδίων, και ίσως τώρα μπορεί να αρχίσει να ονομάζουν αυτά τα πεδία ιδιότητες. Αλλά οι ιδιότητες ποτέ πραγματικά σταθούν στα δικά τους, σωστά; Αν ορίσω μια δομή για ένα αυτοκίνητο όπως αυτό με τα ακόλουθα δύο πεδία ή ιδιότητες, η μία ακέραιο για το έτος του αυτοκινήτου και ένα άλλο 10 χαρακτήρων κορδόνι για το μοντέλο του αυτοκινήτου, Μπορώ να πω κάτι τέτοιο, Μπορώ να δηλώσω μια νέα μεταβλητή του τύπου struct Herbie αυτοκίνητο. Και τότε μπορώ να πω κάτι όπως ισούται herbie.year 1963, και herbie.model ισούται Beetle. Δεν πειράζει. Είμαι χρησιμοποιώντας τα πεδία στο πλαίσιο της δομής, αλλά εγώ δεν θα μπορούσε ποτέ μόνο πει κάτι σαν αυτό. Δικαίωμα? Δεν μπορώ να χρησιμοποιήσω το όνομα του πεδίου ανεξάρτητη της δομής. Είναι κάτι σαν βασικό πράγμα. Έτσι τομείς είναι θεμελιώδους σημασίας για τις δομές C είναι πολύ παρόμοια με τις ιδιότητες που είναι θεμελιώδους σημασίας για την JavaScript αντικείμενα. Αλλά αυτό που τους κάνει ιδιαίτερα ενδιαφέρουσα είναι ότι τα αντικείμενα μπορούν επίσης να έχουν ό, τι καλούνται μεθόδους, οι οποίες είναι πραγματικά απλά μια φανταχτερή λέξη για λειτουργίες που είναι σύμφυτα με το αντικείμενο, καθώς και. Έτσι είναι μια λειτουργία που μπορεί να είναι μόνο που ονομάζεται στο πλαίσιο ενός αντικειμένου. Μόνο ένα αντικείμενο που έχει οριστεί Αυτή η λειτουργία του εσωτερικού του, εάν σκέφτεστε για ένα struct, η συνάρτηση ορίζεται μέσα εκείνα που ορίζει άγκιστρα της δομής. Έτσι, αυτό σημαίνει μόνο κάτι με τη δομή. Και αυτό είναι το είδος του τι κάνουμε εδώ με τα αντικείμενα και τις μεθόδους. Είναι βασικά σαν να είμαστε ορίζει μια λειτουργία που έχει νόημα μόνο σε ένα συγκεκριμένο αντικείμενο, και έτσι καλούν ότι μία μέθοδος του αντικειμένου. Και δεν μπορούμε ποτέ να καλέσετε ότι λειτουργία ανεξάρτητα του αντικειμένου, όπως ακριβώς δεν μπορούμε να πούμε το έτος ή μοντέλο ανεξάρτητα από το struct στο C. Έτσι λειτουργικό προγραμματισμό παραδείγματα δούμε κάτι σαν αυτό. Λειτουργία και στη συνέχεια, όταν περνάτε στο αντικείμενο ως παράμετρο. Σε μια αντικειμενοστραφή προγραμματισμό γλώσσες, αυτό το είδος της παίρνει γυρίσει, και εμείς θα σκεφτεί αρέσει αυτό, object.function. Γι 'αυτό το είδος της εν λόγω dot χειριστής και πάλι υπονοώντας ότι είναι κάποιο είδος του ακινήτου ή χαρακτηριστικό του ίδιου του αντικειμένου. Αλλά αυτό είναι ό, τι ένα αντικείμενο γλώσσα προγραμματισμού θα μπορούσε να κάνει για να κάνει μια λειτουργία καλέσει μια μέθοδο, και πάλι, η οποία είναι απλώς μια ειδική λέξη για μια συνάρτηση ότι είναι εγγενής σε ένα αντικείμενο. Αυτό είναι ό, τι ότι σύνταξη μπορεί να μοιάζει. Και έτσι θα αρχίσουμε να βλέπουμε μερικά από τα αυτό στο πλαίσιο της JavaScript. Μπορείτε επίσης να σκεφτείτε για ένα αντικείμενο περίπου όπως ένα associative πίνακα, το οποίο είμαστε εξοικειωμένοι με από την PHP. Θυμηθείτε μια συνειρμική σειρά επιτρέπει να έχουμε βασικά ζευγάρια αξίας, αντί έχουν δείκτες 0, ένα, δύο, τρία, και ούτω καθεξής, όπως έχουμε συνηθίσει από το C συστοιχίες. Συνειρμική συστοιχίες μπορούν να χαρτογραφήσουν λέξεις, όπως στο βίντεο PHP, μιλούσαμε για καλύμματα από πίτσες. Και έτσι είχαμε μια σειρά που ονομάζεται πίτσες, και εμείς είχε τυρί ήταν ένα βασικό και $ 8,99 ήταν η αξίας, και, στη συνέχεια, πεπερόνι ήταν βασικό, $ 9.99 ήταν μια τιμή, και ούτω καθεξής. Και έτσι μπορούμε να σκεφτούμε ένα αντιρρήσεις είδος παρόμοιο με μια συνειρμική παράταξη. Και έτσι αυτή η σύνταξη εδώ θα δημιουργήσει ένα νέο αντικείμενο που ονομάζεται Herbie με δύο ιδιότητες στο εσωτερικό του. Έτος, η οποία λαμβάνει την τιμή 1963, και το μοντέλο, το οποίο έχει εκχωρηθεί το string Σκαθάρι. Και εδώ παρατηρήσετε ότι είμαι με τη χρήση μονά εισαγωγικά σε JavaScript. Μπορείτε να χρησιμοποιήσετε μονά ή διπλά εισαγωγικά όταν μιλάμε για χορδές. Είναι απλά συμβατικά η υπόθεση ότι τις περισσότερες φορές όταν γράφετε το JavaScript, μπορείτε να χρησιμοποιήσετε μόνο μονά εισαγωγικά. Αλλά θα μπορούσα να χρησιμοποιήσω διπλά εισαγωγικά εδώ, και ότι θα ήταν απολύτως εντάξει επίσης. Έτσι θυμηθείτε πως στο PHP είχαμε αυτή την ιδέα από ένα για κάθε βρόχο που θα μας επιτρέψει για να μετακινηθείτε πάνω από όλα την τιμή του κλειδιού ζεύγη από ένα συνδυαστικό σειρά, γιατί δεν έχουν αυτή την ικανότητα να επαναλάβει μέσω 0, ένα, δύο, τρία, τέσσερα, και ούτω καθεξής? JavaScript έχει κάτι πολύ παρόμοιο, αλλά αυτό δεν λέγεται για κάθε βρόχο, αυτό λέγεται στο βρόχους. Έτσι, αν είπα να μου αρέσει Αυτό, για τα βασικά var στο αντικείμενο, αυτό είναι το είδος της είναι παρόμοια με το ρητό για κάθε κάτι σαν κάτι. Αλλά όλα τα κάνω εδώ την επανάληψη μέσω όλων των κλειδιών του αντικειμένου μου. Και στο εσωτερικό της σγουρά τιράντες εκεί, θα ήθελα χρησιμοποιήστε αντικείμενο κλειδί αγκύλες αναφορά με την αξία στην εν λόγω θέση κλειδί. Εναλλακτικά, υπάρχει ακόμα και μια άλλη προσέγγιση. Αν ήμουν ακριβώς νοιάζονται μόνο για το αξίες, μπορώ να πω για τα βασικά του αντικειμένου, και απλά χρησιμοποιήστε το κλειδί μέσα. Έτσι, για το κλειδί var στο αντικείμενο, έχω να χρησιμοποιήσει το αντικείμενο αγκύλες κλειδί μέσα στο βρόχο. Για το κλειδί var του αντικειμένου, μπορώ απλά χρησιμοποιήστε το κλειδί μέσα στο βρόχο, γιατί είμαι μόλις ειδικά μιλάμε για τις αξίες εκεί. Ας ίσως χρειαστούν δείτε τη διαφορά απλά για να σας δείξει γρήγορα η διαφορά μεταξύ τεσσάρων σε και για του με μια πολύ συγκεκριμένη σειρά, την οποία έχουμε εδώ, εβδομάδα πίνακα. Γι 'αυτό πρέπει να βρούμε μια νέα σειρά ότι γέμισα με επτά χορδές, ΔΕΥΤΕΡΑ ΤΡΙΤΗ ΤΕΤΑΡΤΗ, Πέμπτη, Παρασκευή, Σάββατο, Κυριακή. Και θέλω να επαναλάβει τώρα μέσω αυτής της διάταξης, εκτύπωση ορισμένες πληροφορίες. Αν μπορώ να χρησιμοποιήσω ένα στο βρόχο να εκτυπώσετε πληροφορίες, τι νομίζεις ότι είμαι πρόκειται να πάρει; Λοιπόν, ας ρίξουμε μια ματιά. Και πριν πηδήξει πάνω σε παράθυρο του browser μου, απλά να ξέρετε ότι console.log είναι ένα είδος του τρόπος για να γίνει ένα F εκτύπωσης σε JavaScript. Αλλά τι είναι η κονσόλα; Λοιπόν, αυτό είναι που θα πάμε να πάτε να ρίξετε μία ματιά σε αυτή τη στιγμή. Εντάξει, έτσι είμαστε πάλι εδώ στο παράθυρο του browser μου, και Πάω να ανοίξετε up εργαλεία για προγραμματιστές μου. Και πάλι, είμαι απλώς το χτύπημα F12 να ανοίξει τα εργαλεία για την ανάπτυξη. Και εδώ παρατηρούμε ότι κατά τη top Έχω επιλέξει κονσόλα. Έτσι, αυτή είναι η έννοια μιας κονσόλας προγραμματιστή, και θα μας επιτρέψει να εκτυπώσετε πληροφορίες έξω, περίπου όπως το τερματικό, αλλά όπως θα δείτε λίγο αργότερα, μπορούμε επίσης να πληκτρολογήσετε πληροφορίες να αλληλεπιδρούν με την ιστοσελίδα μας. Πάω να μεγεθύνετε σε λίγο εδώ, και είμαι gonna τώρα κάντε κλικ εδώ και στο τεστ. Και στις τέσσερις test-- εγώ δεν είμαι gonna σας δείξει τον κώδικα για αυτό τώρα, αλλά θα το πάρετε αν κατεβάσετε τον πηγαίο κώδικα που σχετίζεται με αυτό το video-- Είναι ακριβώς ότι στο βρόχο ότι είδαμε μόνο ένα Πριν από τη δεύτερη στη διαφάνεια. Έτσι είμαι gonna κάντε κλικ σε αυτό κουμπί και εδώ, εδώ είναι ό, τι έχει εκτυπωθεί στο κονσόλα, 0, ένα, δύο, τρία, τέσσερα, πέντε, έξι. Δεν είχα εκτυπώσει τις πληροφορίες μέσα σε αυτές τις θέσεις συστοιχίας, γιατί χρησιμοποιείται στο βρόχο. Και μέσα στο σώμα του βρόχου, I μόλις εκτυπωθούν κλειδί δεν αντιταχθεί κλειδί. Αλλά αν έχω πλέον σαφές κονσόλα μου, και εγώ για να στραφούν σε δοκιμής, και τέσσερις δοκιμής Το λέω μπορώ να χρησιμοποιήσω για βρόχου αντ 'αυτού και να εκτυπώσετε το κλειδί, αν κάνω κλικ ότι, τώρα παίρνω το πραγματικά στοιχεία στο εσωτερικό του αντικειμένου μου ή σειρά μου σε αυτή την περίπτωση. Σειρά μου της ημέρες της εβδομάδας. Τύπωσα τη Δευτέρα, ΤΡΙΤΗ ΤΕΤΑΡΤΗ. Έτσι, αυτή είναι η διαφορά μεταξύ ένα στο βρόχο, η οποία εκτυπώνει μόνο τα κλειδιά αν απλά χρησιμοποιήστε το πλήκτρο εσωτερικό του σώματος του βρόχου, και ένα για βρόχου, η οποία εκτυπώνει από τις τιμές αν χρησιμοποιήσετε μόνο κλειδί μέσα στο σώμα του βρόχου. Εντάξει, πώς μπορούμε τώρα να αρχίσουμε να ενώσετε χορδές και ίσως μπερδέψετε ορισμένες μεταβλητές με παρεμβολή σαν να ήμασταν σε θέση να κάνουμε στην PHP; Λοιπόν, είμαστε αρκετά εξοικειωμένοι με αυτό από την PHP. Αυτό είναι το πώς θα το κάνετε χρησιμοποιώντας το dot χειριστή να ενώσετε χορδές. Σε JavaScript, όμως, μπορούμε πραγματικά να χρησιμοποιήσετε κάτι καλείται ο χειριστής συν, το οποίο είναι ίσως και λίγο περισσότερο διαισθητική, έτσι δεν είναι; Είμαστε προσθέτοντας ένα μάτσο της χορδές μαζί. Ας το κεφάλι πίσω πάνω και να δούμε τι είναι αυτό θα τυπώσει αν προσπαθούμε να εκτυπώσετε το σύνολο των πληροφοριών σε εβδομάδες συστοιχία. Εντάξει, έτσι κάτω εδώ υπό εγχόρδων συνένωσης, Έχω δύο επιλογές, κτίριο εγχόρδων V1 και στη συνέχεια κτίριο εγχόρδων V2. Και θα δούμε γιατί εμείς Πρέπει V2 σε ένα δευτερόλεπτο. Αλλά είμαι gonna κλικ στο κορδόνι κτίριο V1, η οποία είναι ο κωδικός ήμασταν απλά ρίχνοντας μια ματιά σε, η console.log με όλα τα πλεονεκτήματα. Ας δούμε αν αυτό εκτυπώσεων τι να περιμένουμε. Η Δευτέρα είναι ημέρα αριθμός 01 της εβδομάδας, Τρίτη είναι αριθμός ημερών 11 της εβδομάδας. Λοιπόν, αυτό που προσπαθούσα να κάνει ήταν να πάρει εκεί να εκτυπώσετε Δευτέρα είναι ημέρα αριθμός ένα, Τρίτη είναι ημέρα νούμερο δύο. Αλλά φαίνεται σαν να είμαι Πάντα εκτύπωση ενός. Καλά, γιατί συμβαίνει αυτό; Λοιπόν, αποδεικνύεται, ρίξτε μια άλλη ματιά σε αυτό το μικρό απόσπασμα του κώδικα εδώ. Παρατηρήστε ότι είμαστε με τα πλήκτρα συν χειριστή σε δύο διαφορετικά πλαίσια. Και έτσι εδώ είναι όπου ίσως τα πράγματα ότι έχουμε το είδος της πει, Ω, είναι τόσο μεγάλη. Εμείς δεν ασχολούνται με τύπους δεδομένων πια. Αλλά εδώ είναι όπου η πραγματικότητα ότι χάνουμε τύποι δεδομένων μπορεί στην πραγματικότητα να είναι λίγο πρόβλημα για εμάς. Τώρα που ο χειριστής συν χρησιμοποιείται για ενώσετε χορδές και να προσθέσετε αριθμούς μαζί, έχει το JavaScript να κάνει καλύτερη εικασία του ως προς το τι θέλω να κάνω για μένα. Και σε αυτή την περίπτωση, το μαντέψατε λάθος. Απλώς συνεχόμενα ημέρα, η οποία θα είναι 0, ένα, δύο, τρία, τέσσερα, πέντε, ή έξι, και στη συνέχεια απλά συνεχόμενα αυτό και στη συνέχεια συνενώνονται μία. Δεν προσθέτουν στην πραγματικότητα μαζί. Και έτσι οι γλώσσες αυτές, PHP και JavaScript, ότι αφαιρεί μακριά αυτή η έννοια των τύπων, δεν χρειάζεται να ασχοληθεί με το θέμα πια. Κάνουν ακόμα τύπους κάτω από την κουκούλα. Και μπορούμε, σε καταστάσεις όπως αυτό, αξιοποιούν το γεγονός αυτό λέγοντας κάτι όπως ίσως αυτή, η οποία Είναι χαρακτηριστικό το JavaScript, από το τρόπο, θεωρήσει ότι πρόκειται για έναν ακέραιο αριθμό, δεν το αντιμετωπίζουν ως μια σειρά, ακόμη και αν είμαστε ανάμειξη μαζί χορδές και ακέραιοι εδώ. Είναι απλά ένα από εκείνα τα πράγματα ότι φαίνεται τόσο μεγάλη σε αυτό το πλαίσιο ότι δεν έχουμε να ασχολούνται με τα είδη πια, αλλά μερικές φορές θα τρέχει σε μια κατάσταση ακριβώς σαν αυτό όπου το γεγονός ότι που δεν έχει τον έλεγχο των τύπων μπορεί να αποτύχει σε σας εάν δεν είστε προσεκτικοί. Και έτσι αν σκάσει πίσω πάνω στο IDE, είμαι πρόκειται να καθαρίσει την κονσόλα μου και πάλι, και θα πάω να κάνετε κλικ εγχόρδων κτίριο έκδοση δύο, η οποία Εκεί μπορώ να χρησιμοποιήσω τη λειτουργία αυτή μεταγλώττιση int. Τώρα είναι εκτύπωση πληροφορίες που Περιμένω. Δευτέρα αριθμός μέρα Τρίτη Είναι ημέρα νούμερο δύο, και ούτω καθεξής. Ας μιλήσουμε για τις λειτουργίες και πάλι. Υποσχέθηκα ότι θα μιλήσουμε για ανώνυμο λειτουργίες, και τώρα το πλαίσιο γι 'αυτό έφτασε επιτέλους. Έτσι, πριν το κάνουμε αυτό, ας μιλήσουμε ξανά για τους πίνακες για μόλις ένα δευτερόλεπτο. Έτσι συστοιχιών είναι μια ειδική περίπτωση ενός αντικειμένου. Στην πραγματικότητα, τα πάντα στη JavaScript είναι πραγματικά ένα αντικείμενο. Έτσι, οι λειτουργίες είναι ένα ειδική περίπτωση ενός αντικειμένου, ακέραιοι είναι μια ειδική περίπτωση ενός αντικειμένου, αλλά ειδικά συστοιχίες έχουν έναν αριθμό μεθόδων. Θυμηθείτε επειδή είναι αντικείμενα, μπορούν να έχουν ιδιότητες και μεθόδους. Έχουν έναν αριθμό μεθόδων που μπορεί να εφαρμοστεί σε αυτά τα αντικείμενα. Υπάρχει μια μέθοδος που ονομάζεται μέγεθος, array.size, η οποία θα επιστρέψει στην σας, όπως μπορείτε να φανταστείτε ο αριθμός των στοιχείων του πίνακα σας. array.pop, περίπου όπως αντίληψή μας σκάει από από μια στοίβα, αν θυμάστε από το βίντεο στοίβες μας, αφαιρεί το τελευταίο στοιχείο από τη συστοιχία. array.push προσθέτει ένα νέο στοιχείο στο τέλος του πίνακα. array.shift είναι το είδος του όπως DQ, γιατί προσαρμόζει έξω το πρώτο στοιχείο ενός πίνακα. Αλλά υπάρχει και μια άλλη ειδική μέθοδος μιας συστοιχίας που ονομάζεται χάρτη. Και αυτό είναι το είδος της μια ενδιαφέρουσα ιδέα. Έτσι ποια είναι η ιδέα ενός χάρτη; Θα δείτε πραγματικά αυτό σε πολλές άλλες γλώσσες, και δεν μιλάμε για ένα το είδος των χαρτογράφων χάρτη εδώ, μιλάμε για μια λειτουργία χαρτογράφησης. Στο πλαίσιο είμαστε εδώ μιλάμε για ένα χάρτη είναι μια ειδική λειτουργία εμείς μπορούν να εκτελέσουν μια σειρά να εφαρμόσει μια συγκεκριμένη λειτουργία σε κάθε στοιχείο της εν λόγω συστοιχίας. και γι 'αυτό θα πω Στην περίπτωση αυτή, ίσως array.map, και μέσα από αυτό, είμαστε περνώντας στο χάρτη είναι μια λειτουργία που θέλουμε για να εφαρμοστεί σε κάθε μεμονωμένο στοιχείο. Έτσι είναι το είδος του ανάλογη με τη χρήση ένας βρόχος για να μετακινηθείτε πάνω από κάθε στοιχείο και να εφαρμόσει μια συγκεκριμένη λειτουργούν σε κάθε στοιχείο, μόλις το JavaScript έχει ενσωματωμένο το παραπάνω έννοια ενός χαρτογράφησης που μπορούν να εφαρμοστούν. Και αυτό είναι ένα μεγάλο πλαίσιο για την μιλάμε για μια ανώνυμη συνάρτηση. Ας πούμε ότι έχουμε Αυτή η σειρά των ακεραίων. Αυτό λέγεται nums, και πήρε πέντε πράγματα σε αυτό, ένα, δύο, τρία, τέσσερα, πέντε. Τώρα θέλω να χαρτογραφήσει μερικά συνάρτηση προς αυτήν την σειρά. Θέλω να έχω μια συνάρτηση ισχύουν για κάθε στοιχείο της συστοιχίας. Λοιπόν, ας πούμε ότι αυτό που θέλω να κάνετε είναι να διπλασιαστεί το σύνολο των στοιχείων. Τι θα μπορούσα να κάνω είναι απλά χρησιμοποιήστε ένα βρόχο για var Ι ισούται με μηδέν, Ι είναι μικρότερη από ή ίσο με 4, Ι συν, συν, και τότε διπλασιάσει κάθε αριθμό. Αλλά μπορώ επίσης να κάνω κάτι τέτοιο. Μπορώ να πω nums ήταν στο παρελθόν Ενα δυο τρια ΤΕΣΣΕΡΑ πεντε, Τώρα, όμως, θα ήθελα να σας αρέσει να εφαρμόζουν την χαρτογράφηση επί αυτής της διάταξης όπου θα θέλατε να διπλασιαστεί κάθε αριθμό. Και αυτό είναι ακριβώς τι συμβαινει εδω. Αλλά παρατηρήστε τι περνώ σε όσο το επιχείρημα στο χάρτη. Αυτή είναι μια ανώνυμη λειτουργία. Και παρατηρήσετε Δεν έχω δώσει Αυτή η λειτουργία είναι ένα όνομα, Έχω δώσει μόνο μια λίστα παραμέτρων. Και έτσι αυτό είναι ένα παράδειγμα ενός ανώνυμου λειτουργία. Εμείς γενικά δεν θα αποκαλούσα αυτό Λειτουργία έξω από το πλαίσιο του χάρτη. Είμαστε αυτό που ορίζει ως παράμετρος στο χάρτη, και γι 'αυτό δεν κάνουμε πραγματικά Πρέπει να έχουμε ένα όνομα για το αν η μόνο πράγμα που νοιάζονται χάρτη και είναι καθορισμένο δικαίωμα υπάρχει στο εσωτερικό του χάρτη. Και έτσι αυτό είναι μια ανώνυμη συνάρτηση. Εμείς δεν μπόρεσαν για να γίνει αυτό στο παρελθόν. Χάρτης κάποια λειτουργία που δέχεται μια παράμετρο, num, και τι κάνει αυτή η λειτουργία Είναι επιστρέφει NUM φορές 2. Και έτσι μετά από αυτό χαρτογράφηση έχει εφαρμοστεί, Αυτό είναι τώρα τι nums εμφάνιση όπως, δύο, τέσσερις, έξι, οκτώ, 10. Και θα σκάσει πάνω στο μου παράθυρο του browser και απλά ρίξτε μια ματιά σε αυτό πολύ γρήγορα επίσης. Γι 'αυτό και ένα άλλο κουμπί εδώ στην αρχική σελίδα μου που ονομάζεται διπλό. Και όταν κάνω κλικ διπλά, και λέει μου πριν ήταν ένα, δύο, τρία, τέσσερα, πέντε, μετά δύο, τέσσερις, έξι, οκτώ, 10. Και αν πάω πίσω και κάντε κλικ στο διπλό πάλι, δύο, τέσσερις, έξι, οκτώ, 10. Και στη συνέχεια, μετά, τέσσερις, οκτώ, 12, 16, και στη συνέχεια 20. Και τι κάνω σε αυτή τη λειτουργία; Λοιπόν, αν θέλουμε απλά να πεταχτεί πάνω στο IDE, και Έχω σηκώσει ανώνυμα μου λειτουργία, εδώ on line επτά έως 13, είμαι κάνει λίγο φανταχτερό δουλειά εδώ, αλλά είμαι απλώς εκτύπωση τι είναι σήμερα στη συστοιχία. Στη συνέχεια, στη γραμμή 16, 17, και 18, υπάρχει χάρτη μου. Αυτό είναι όπου είμαι εφαρμογή του παρόντος διπλασιασμό λειτουργία σε κάθε μεμονωμένο στοιχείο. Και στη συνέχεια, λίγο πιο κάτω, Κάνω ακριβώς το ίδιο πράγμα Έκανα πριν, μόνο που τώρα είμαι εκτύπωση των περιεχομένων του πίνακα κατόπιν. Αλλά όλα έχω κάνει εδώ είναι απλά να χρησιμοποιήσουμε μια ανώνυμη συνάρτηση στο χάρτη σε μια ολόκληρη σειρά. Έτσι, ένα ακόμη μεγάλο θέμα για να μιλήσουμε για JavaScript είναι η έννοια ενός γεγονότος. Ένα γεγονός είναι κάτι που συμβαίνει μόνο όταν ένας χρήστης αλληλεπιδρά με την ιστοσελίδα σας σελίδα, οπότε ίσως κάτι κλικ, ή ίσως η σελίδα έχει ολοκληρωθεί η φόρτωση, ή ίσως έχουν μετακινηθεί ποντίκι τους πάνω από κάτι, ή έχετε πληκτρολογήσει κάτι σε ένα πεδίο εισαγωγής. Όλα αυτά τα πράγματα είναι γεγονότα που εμφανίζονται στην ιστοσελίδα μας. Και έχει την JavaScript ικανότητα να υποστηρίξει κάτι ονομάζεται ένα πρόγραμμα χειρισμού συμβάντων, η οποία είναι μια λειτουργία επανάκλησης ότι ανταποκρίνεται σε μια html συμβάν. Και τι είναι μια λειτουργία επανάκλησης; Λοιπόν, αυτό είναι γενικά ακριβώς μια άλλη όνομα για ένα ανώνυμο λειτουργία. Είναι μια λειτουργία που ανταποκρίνεται σε μια εκδήλωση. Και αυτό είναι όπου θα έρθει να το ιδέα της δέσμευσης ορισμένων λειτουργιών σε ένα συγκεκριμένο html χαρακτηριστικό. Τα περισσότερα στοιχεία έχουν html υποστήριξη για ένα χαρακτηριστικό ότι εμείς δεν μιλάμε για το html βίντεο για κάτι σαν το κλικ ή σε αιώρηση ή το φορτίο, όλα αυτά τα γεγονότα ότι, στη συνέχεια, μπορείτε να γράψετε λειτουργίες που ασχολούνται με αυτές τις εκδηλώσεις όταν αυτά τα γεγονότα εμφανιστούν στην ιστοσελίδα σας. Και έτσι ίσως σας html μοιάζει κάπως έτσι. Και έχω εδώ δύο κουμπιά, ένα κουμπί και το κουμπί δύο, και εδώ έχω σήμερα ορίζεται τίποτα, αλλά αυτό είναι όπου το χαρακτηριστικό για κλικ είναι προφανώς μέρος της ετικέτας HTML μου. Έτσι, προφανώς, όταν ορίσουμε τι είναι που πηγαίνει στο εσωτερικό του εν λόγω χαρακτηριστικού, πρόκειται να είναι κάποια JavaScript λειτουργία που ανταποκρίνεται στο γεγονός πιθανώς να κάνετε κλικ στο το πάτημα ενός κουμπιού ή δύο. Ποιο είναι το είδος της δροσερό γι 'αυτό είναι ότι μπορεί να γράψει ένα γενικό πρόγραμμα χειρισμού συμβάντων. Και αυτή η εκδήλωση θα Handler δημιουργήσετε ένα αντικείμενο εκδήλωσης. Και το αντικείμενο εκδήλωση θα μας πει ποιο από τα δύο κουμπιά χτυπήθηκε. Τώρα, πώς γίνεται αυτό; Λοιπόν, αυτό μπορεί να μοιάζει κάπως έτσι. Έτσι θα ορίσουμε πρώτα κουμπιά μας να έχουμε μια απάντηση στην επανάκλησης λειτουργία που θα ονομάζεται όταν κάνετε κλικ στο κουμπί, θα καλέσουμε εκδήλωση όνομα συναγερμού. Και παρατηρήσετε και στις δύο περιπτώσεις είμαστε περνώντας σε αυτήν την παράμετρο εκδήλωση. Έτσι καλούμε αυτή τη λειτουργία ή όταν αυτή η λειτουργία ενεργοποιείται από το γεγονός συμβαίνει, πρόκειται να δημιουργήσετε αυτό το αντικείμενο συμβάντος και να περάσει ως ένα παράμετρος για την προειδοποίηση όνομα. Και αυτό είναι το αντικείμενο εκδήλωσης θα περιέχει πληροφορίες για την οποία έγινε κλικ κουμπί. Και πώς το κάνουμε αυτό; Λοιπόν, αυτό μπορεί να μοιάζει κάπως έτσι. Έτσι, τώρα σε χωριστές μου Αρχείο JavaScript, θα ήθελα να Πρέπει να βρούμε αυτό Το όνομά λειτουργία ειδοποίησης, η οποία αποδέχεται και πάλι ότι η παράμετρος εκδήλωση. Και τότε εδώ είναι όπου είμαι ανίχνευση ποιο κουμπί πυροδοτήθηκε, var ενεργοποίησης ισούται εκδήλωση dot στοιχείο πηγή. Ποια ήταν η πηγή που δημιούργησε Αυτό το αντικείμενο εκδήλωσης που ψηφίστηκε μέσα; Ήταν ένα κουμπί ή ήταν κουμπί δύο; Και τότε εδώ όλα τα κάνω είναι εκτύπωση trigger.innerhtml. Λοιπόν, στην περίπτωση αυτή, σε αυτό πλαίσιο, trigger.innerhtml Είναι ακριβώς ό, τι είναι γραμμένο στο κουμπί. Είναι ακριβώς έτσι συμβαίνει αν άλμα πίσω για μια δεύτερη, ότι θα είναι ό, τι είναι μεταξύ αυτών των ετικετών κουμπί. Θα είναι το πάτημα ενός κουμπιού ή δύο. Και ας ρίξουμε μια ματιά πώς αυτό θα χειρισμού συμβάντων εξετάσουμε αν είχαμε να τρέχει στην πράξη. Έτσι, πρώτα απ 'όλα, έχετε άνοιξε events.js, το οποίο είναι το αρχείο όπου JavaScript Έχω ορίζεται αυτή τη λειτουργία. Και όπως μπορείτε να δείτε, είναι λίγο πολύ τι ακριβώς μόλις είδαμε στη διαφάνεια πριν από ένα δευτερόλεπτο. Και θα πάω να το αρχική σελίδα έχουμε χρησιμοποιήσει. Και έχω εδώ το κουμπί ένα κουμπί και δύο. Και εγώ θα κάντε κλικ στο κουμπί μία. Μπορείτε κλικ στο κουμπί μία, αν μπορείτε να δείτε εδώ στην ειδοποίηση. ΕΝΤΆΞΕΙ. Κάντε κλικ στο κουμπί δύο, μπορείτε κλικ σε ένα κουμπί δύο. Έτσι και τα δύο πλήκτρα έχουν το ίδια κλήση της συνάρτησης, σωστά; Και οι δύο ήταν το όνομα ειδοποίησης γεγονός, αλλά αυτό το αντικείμενο συμβάν που παίρνει δημιουργείται όταν κάνουμε κλικ στο μας λέει ποιο κουμπί έχει πατηθεί. Εμείς δεν έχουμε να γράψω δύο ξεχωριστές λειτουργίες ή ασχολούνται με την κατοχή για να περάσει κάθε συμπληρωματική πληροφορία. Είμαστε ακριβώς στηρίζονται σε τι JavaScript θα κάνει για μας, που είναι να δημιουργηθεί η το είδος του αντικειμένου εκδήλωση για λογαριασμό μας. Υπάρχει πολύ περισσότερο από ό, τι με τη JavaScript τι καλύψαμε σε αυτό το βίντεο, αλλά με αυτά θεμελιώδη θα πρέπει να έχετε αρκετά μεγάλο χρονικό τρόπους για να μαθαίνοντας σας τα πάντα θα πρέπει να ξέρετε για αυτό ενδιαφέρουσα γλώσσα. Είμαι ο Νταγκ Lloyd. Αυτό είναι CS50.