>> Εντάξει, έτσι και σήμερα, Πάω να μιλάμε
για JavaScript και πώς είναι διαφορετική από τις άλλες γλώσσες
ότι μπορεί να χρησιμοποιείται για να αρέσει PHP.
Έτσι, στην τελευταία διάλεξη για Δευτέρα μιλήσαμε λίγο
σχετικά με το τι είναι παρόμοιο, τι είναι εξοικειωμένοι μεταξύ JavaScript
και PHP ή Python ή Ruby ή C ή άλλες γλώσσες
ότι είστε ήδη εξοικειωμένοι με.
Αλλά JavaScript πραγματικότητα έχει ένα πραγματικά μοναδικό αναλάβει
στο μοντέλο αντικειμένου που κάνει το είδος εντελώς διαφορετικό
από τις περισσότερες γλώσσες που θα πάμε να αντιμετωπίσουμε.
Έτσι, οι λειτουργίες είναι ένα είδος
των υποτιμημένη έννοια JavaScript.
Είναι πολύ πιο ισχυρή από ό, τι είναι σε άλλες γλώσσες
επειδή μπορούν να σε - για έναν λόγο,
θα είστε σε θέση να ορίζεται ως τιμές.
Έτσι, εδώ έχουμε var x ισούται με τη λειτουργία
και είναι μια πρώτης τάξεως αξία που μπορεί να περάσει
περίπου ως επιχείρημα.
Έτσι, δεν χρειάζεται να δηλώνουν τη λειτουργία x
και απλά χρησιμοποιήστε το x σε αυτό το πεδίο.
Μπορείτε να περάσετε την τιμή του x οπουδήποτε σε όλη την, ξέρετε,
ως επιχείρημα σε άλλη λειτουργία
όπου μπορείτε να ενότητα των εξαγωγών όπως ο Δαβίδ αναφέρεται στον κόμβο.
Έτσι, το επόμενο σημείο είναι
ότι είναι μια λειτουργία αντιρρήσεις στην JavaScript.
Έτσι, μπορείτε πραγματικά να ορίσετε ιδιότητες ως τιμές
σε λειτουργία και αντιμετωπίζει μόνο είναι σαν να είναι ένα αντικείμενο.
Έτσι, όταν εργάζεστε με jQuery, ξέρετε, ότι το δολάριο
και στη συνέχεια θα περάσει επιλογέα σε αυτό
και επικαλούνται ως συνάρτηση.
Αλλά τότε μπορείτε επίσης Οι δολαρίου dot AJAX.
Και αυτό δεν το είδος της νόημα αν νομίζετε
μιας συνάρτησης ακριβώς ως κάτι που μπορεί να επικαλεστεί
ή καλέστε.
Αλλά JavaScript σας επιτρέπει να ορίσετε τις ιδιότητες σχετικά με τις λειτουργίες
ως στατικές ιδιότητες με μόλις x dot someProp
όπως ανέφερα εκεί έξω.
Το επόμενο σημείο που είμαστε πρόκειται να υπεισέλθω σε λίγο περισσότερο
σε βάθος είναι το γεγονός ότι λειτουργίες μπορούν να αντιμετωπίζονται
και μαθήματα JavaScript.
Έτσι, υπάρχει η έννοια αυτού του νέου φορέα
η οποία δημιουργεί ένα νέο στιγμιότυπο της η λειτουργία μαζί με ένα είδος
σαν τάξη-όπως το σώμα η οποία έρχεται μαζί με αυτό
και θα πάμε για να πάει σε αυτό λίγο περισσότερο,
λέγεται το πρωτότυπο.
Και αυτό είναι ό, τι είναι οι μάρκες JavaScript πολύ μοναδικό σε σύγκριση
σε άλλες γλώσσες των οποίων οι ταξικές,
JavaScript είναι ένα πρωτότυπο που βασίζεται.
Και τότε ακριβώς το κάτω μέρος εκεί,
λειτουργία μπορεί απλά να ονομάζεται απλά, όπως έχουμε συνηθίσει.
Έτσι, αυτό δεν είναι κάτι νέο.
Ένα άλλο πράγμα που είναι μοναδικό είναι
ότι οι πίνακες που είναι στην πραγματικότητα αντικείμενα.
Δεν είναι όπως είναι σε PHP
όπου μπορείτε απλά να δημιουργήσετε μια νέα σειρά.
Αυτό είναι στην πραγματικότητα ένα στενογραφίας για να πούμε νέα σειρά.
Και πίνακας είναι στην πραγματικότητα ένα υποκατηγορία ενός αντικειμένου.
Έτσι, αυτό είναι κάτι διαφορετικά και θα πάω
σε λίγο μια πιο λεπτομέρεια σχετικά με αυτό.
Και οι δυνατότητες εντοπισμού σφαλμάτων
με JavaScript είναι πραγματικά απαράμιλλη όσο έχω δει.
Αυτό είναι ένα στιγμιότυπο οθόνης του Chrome Επιθεωρητής
που θα πάμε να πρέπει να χρησιμοποιούν για το υπόλοιπο
της σημερινής παρουσίασης.
Και για να φτάσουμε σε αυτό, απλά πηγαίνετε στο αρχείο εργαλεία για προγραμματιστές
και ανοίξτε το Chrome Επιθεωρητής ή μπορείτε να κάνετε δεξί κλικ
και κάντε κλικ στο show στοιχείο I Πιστεύω ότι είναι στη σελίδα HTML
ή νομίζω ότι είναι εντολή J επιλογή ανοίγει αυτό επάνω.
Αλλά θα πάμε σε αυτό και θα να ορίσετε σημεία διακοπής πραγματικότητα
καθώς τρέχετε μέσα ο κώδικας JavaScript και ταξινόμησης
από την αξιολόγηση που έκανε ο τοπικός μεταβλητές είναι, ποια είναι η αξία
αυτό είναι και αυτό καθιστά πιο εύκολο τρόπο για τον εντοπισμό σφαλμάτων κώδικα.
Και μην το - αυτό δεν είναι περιορίζεται στον κώδικα του προγράμματος περιήγησης πλευρά
αλλά μπορείτε πραγματικά να εκτελέσετε ένα παράδειγμα
αυτού του Chrome Επιθεωρητής για την υπηρεσία την πλευρά κωδικό σας
το οποίο είναι πραγματικά τακτοποιημένο γιατί μπορεί να το βήμα μέσω της γραμμή προς γραμμή
ως αίτημα έρχεται σε σας διακομιστή και να δούμε τι συμβαίνει
και να παίξει με τις μεταβλητές στην κονσόλα εδώ κάτω.
Έτσι, όπως ανέφερα, JavaScript είναι ένα πρωτότυπο που βασίζεται γλώσσα
πράγμα που σημαίνει ότι υπάρχει ένα σύνολο από προεπιλεγμένες τιμές που είναι είδος
των κρυφών για κάθε λειτουργία
στο dot αντικειμένου πρωτότυπο ιδιοκτησίας.
Έτσι είναι το είδος της ένα hash του απλά διαφορετικές προκαθορισμένες τιμές
ότι όταν επικαλούνται μια λειτουργούν με τη νέα λέξη-κλειδί,
εκείνες καθορίζονται από προεπιλογή ως συναρτήσεις
που είναι διαθέσιμα στο παράδειγμα.
Έτσι ώστε να είναι πραγματικά πραγματικά αποτελεσματική για την -
Είναι ένας αποτελεσματικός τρόπος δημιουργώντας μνήμη αντικείμενα σοφός
επειδή η JavaScript runtime έχει μόνο να παρακολουθείτε
του πρωτοτύπου του αντικειμένου.
Το είδος του επισημαίνει ότι
όταν Cretae ένα νέο στιγμιότυπο της κλάσης.
Και μπορείτε επίσης να μιμούνται κληρονομιάς, όπως είναι γνωστό
σε γλώσσες ταξικά όπου έχετε το είδος
σαν ένα αυτό επεκτείνεται ότι, επεκτείνεται ώστε να μπορεί να μιμηθεί
ότι το JavaScript με ό, τι λέγεται η
πρωτότυπο αλυσίδα.
Και θα δούμε παραδείγματα γι 'αυτό.
Έτσι, αν σας - jQuery plugins στην πραγματικότητα συνιστούν jQuery
συγγραφείς να χρησιμοποιούν δολάρια dot fn για να προσθέσετε λειτουργικότητα
στη βιβλιοθήκη jQuery.
Και είμαστε πραγματικά πρόκειται να άλμα στο - Λοιπόν, σε αυτή τη σελίδα,
έχουμε το δολάριο - Θα περιλαμβάνονται jQuery.
Και αν το κάνετε δολάριο dot στην κονσόλα
το οποίο ανέφερα φέρνοντας σας μέσα από μετατόπιση εντολή J
ή απλά πρόκειται για την προβολή, Εργαλεία για προγραμματιστές, προγραμματιστές
και πηγαίνοντας στην καρτέλα Πηγές.
[ΑΚΟΥΓΕΤΑΙ Παρατήρηση]
Ω βέβαιος. Έτσι, όταν άρχισα για να πληκτρολογήσετε μια μεταβλητή,
είναι αυτόματη ολοκληρωθεί για μένα τι είναι διαθέσιμο εκεί.
Γι 'αυτό και δακτυλογραφημένα σε δολάριο και μπορώ δείτε νομίζω Chrome έχει μερικά
ενσωματωμένο σε δολάρια, δολαρίου και δολαρίου x.
Έτσι, τώρα θέλω μόνο δολαρίου και έβαλα μια τελεία.
Και τότε μου δείχνει όλες οι ιδιότητες
που είναι διαθέσιμα σχετικά με το αντικείμενο jQuery.
Αλλά αν το κάνω δολάριο dot πρωτότυπο,
Τώρα δείτε όλες τις μεθόδους ότι έχω συνηθίσει να χρησιμοποιούν
όταν έχω το δολάριο, επιλογέα και στη συνέχεια αλυσίδα από ότι με,
Ξέρετε, προσθέστε τάξη ή να προσθέσετε ή το θάμπωμα ή σε οποιοδήποτε από τα παρόμοια.
Όλα αυτά είναι στην πραγματικότητα στο πρωτότυπο
που κάτω από το καπό του jQuery δημιουργεί ένα νέο στιγμιότυπο της ίδιας
και το είδος της αποκρύπτει όλα αυτά τα στοιχεία από εσάς.
Έτσι, το σημείο που ήμουν κάνει πίσω εδώ
με τη λειτουργία, αυτοί στην πραγματικότητα κρύβουν πρωτότυπο από εσάς
και μόλις ψευδώνυμο, σε δολάριο dot fn.
Έτσι, οι περισσότεροι άνθρωποι στην πραγματικότητα δεν συνειδητοποιούν
ότι υπάρχει ένα πρωτότυπο σύμφωνα με τις that's κουκούλα -
ότι μπορεί να αξιοποιήσει και προσθέσετε επιπλέον λειτουργικότητα
σε κάθε περίπτωση jQuery αν θέλετε.
Έτσι, η "νέα" χειριστής είναι πραγματικά το είδος των δύσκολων
να καταλάβει την πρώτη.
Όταν καλείτε μια συνάρτηση με τους "νέους",
Είναι μια εντελώς διαφορετική τρόπο την κλήση της συνάρτησης
σαν να έχετε μόλις ονομάζεται είναι ξεκάθαρα.
Έτσι, η "νέα" χειριστής δημιουργεί αυτό που ονομάζεται ένα νέο παράδειγμα
ενός αντικειμένου ή μιας νέας περίπτωση, μπορείτε να σκεφτείτε
του αντικειμένου ως τάξη.
Και όταν συμβαίνει αυτό, είναι η τιμή αυτό που μπορεί να είναι εξοικειωμένοι
με από jQuery, ότι το είδος αυτό που
σε ό, τι είναι βολικό κατά το χρόνο.
Συνήθως αυτό που στην τρέχοντα κόμβο DOM που είστε
όπως μπορείτε να περνάτε σαν το καθένα ή κάτι τέτοιο.
Μπορούν - Η τιμή αυτή υποτίθεται να είναι η αξία του παράδειγμα
που δημιουργήσατε με τους "νέους", η οποία περιλαμβάνει τα πάντα
στην αλυσίδα πρωτότυπο και όλα από τις μεθόδους που θα βρίσκατε
ως πρωτότυπο ιδιότητες.
Έτσι ώστε να εξαρτάται από το πώς καλείται μια συνάρτηση,
ποια είναι η αξία του είναι αυτό.
Και είναι πραγματικά σύγχυση αν είστε νέοι στην JavaScript.
Αλλά κάθε λειτουργία που ονομάζεται έχει - έχει σε αυτή την τιμή.
Έτσι, ακόμη και αν δεν έχετε δημιουργήσει ένα νέο στιγμιότυπο του κάτι,
ότι αυτό υποτίθεται να είναι παγκόσμια.
Ή μπορείτε να καλέσετε μια συνάρτηση χρησιμοποιώντας τη μέθοδο κλήσης
όπου η μέθοδος εφαρμόζεται σε JavaScript.
Μπορείτε να τη λειτουργία και καθορίσετε τι αυτό θα πρέπει να είναι.
Έτσι, μπορείτε να το κάνετε δυναμική, το οποίο είναι πραγματικά ισχυρό
αλλά και σας επιτρέπει να κάνετε πράγματα που μπορεί να είναι παραπλανητική
και σύγχυση για άλλους προγραμματιστές
αν δεν είστε χρησιμοποιούν το γεγονός.
Και jQuery, θα έλεγα καθιστά ακόμη πιο συγκεχυμένη
καθιστώντας βολικό και τον καθορισμό
για τον τρέχοντα κόμβο DOM.
Αλλά ο απλός κανόνας που πρέπει να θυμάστε ποια είναι η αξία αυτού είναι
όταν ψάχνετε
σε λειτουργικό κλήση ό, τι έχει απομείνει από το dot.
Έτσι, εάν έχετε ένα αντικείμενο
και αυτό είναι κάτι dot κάτι είναι η συνάρτηση
ότι είστε καλώντας τότε η πρώτη τιμή είναι ποια είναι η αξία
αυτό είναι.
Έτσι, εδώ είναι ένα παράδειγμα κώδικα
όπου είμαι δημιουργία ένα νέο αντικείμενο κυριολεκτική
το οποίο είναι ακριβώς το αντικείμενο δημιουργήθηκε με τα άγκιστρα
και Στήνω το όνομα του Bob
και, στη συνέχεια, έχω ένα sayName Μέθοδος εδώ τα οποία -
έτσι ώστε μέσα σε αυτό το sayName αν το κάνω x dot sayName,
η αξία αυτή είναι ίση στο x, επειδή η αριστερά
της τελείας είναι x. Έτσι, αν Καλώ το x dot sayName,
θα έλεγε Hello Bob.
Και στη συνέχεια, ένα άλλο παράδειγμα
όπου είμαι πραγματικά ανάθεση x dot sayName, η λειτουργία
στη μεταβλητή Υ, το οποίο όπως ανέφερα
σε JavaScript σας μπορεί να εκχωρήσει τις λειτουργίες
στις μεταβλητές όποτε θέλετε, είναι πραγματικά ευέλικτο με αυτόν τον τρόπο,
αλλά τώρα όταν καλώ Υ, να χάσει το πλαίσιο του x.
Έτσι, αυτό είναι πλέον παγκόσμια ή αν είστε σε strict mode,
Πιστεύω ότι είναι null ή απροσδιόριστη.
Αλλά - Έτσι το Υ δεν είναι ό, τι είστε περιμένουμε εδώ αν ψάχνετε
στο x και θα πάμε να καλέσει sayName,
Σας περιμένουμε αυτό το όνομα υποτίθεται ότι είναι βαρίδι.
Αλλά αν το τράβηξε το αντικείμενο και το ονόμασε
από μόνη της, αυτό είναι πλέον παγκόσμια.
Και αυτό είναι ό, τι ήμουν παραπέμπουν όταν βλέπεις δολάριο dot αυτό,
που συχνά δεν σκέφτονται τι πραγματικά συμβαίνει.
Αλλά jQuery είδος έχει τους δικό του τομέα-συγκεκριμένη γλώσσα
για την αντιμετώπιση αυτού και δεν είναι ό, τι έχετε συνηθίσει
στο JavaScript.
Και το επισημαίνω αυτό γιατί είναι πολύ σημαντικό
για το γράψιμο καλά δομημένη αντικειμενοστραφή κώδικα
σε JavaScript για να έχουν πραγματικά μια καλή κατανόηση και αντίληψη
για το πώς αυτό λειτουργεί και πώς το μοντέλο αντικειμένου έργων
και πώς λειτουργεί ο νέος φορέας.
Διαφορετικά, θα καταλήξετε με jQuery σπαγγέτι
όπου τα πάντα είναι είδος του σε όλη τη χώρα
και μόνο που ασχολούνται με το DOM.
Εάν μπορείτε πραγματικά να γράψτε JavaScript
σε ένα πιο διαρθρωμένο τρόπο, καθιστά πολύ πιο εύκολο
να συνεργαστεί με, για να ταξινομήσετε από το διαχωρισμό των ανησυχιών
της συναλλαγής με το την ενημέρωση του DOM και την αντιμετώπιση
με την πραγματική λογική και κώδικα.
Έτσι, ας ρίξουμε μια ματιά σε ένα μερικά παραδείγματα γύρω από αυτό.
Έτσι έχω μερικά παραδείγματα εδώ.
Έτσι, αυτό είναι μόνο ένα απλό παράδειγμα από τη χρήση ενός αντικειμένου JavaScript
και την προσθήκη μερικών λειτουργιών σε αυτό και στη συνέχεια δημιουργώντας είδος
σαν μια μικρογραφία εφαρμογή.
Γι 'αυτό είναι πολύ απλό στην πραγματικότητα.
Το μόνο πράγμα που κάνει είναι κατά την πρώτη ζητά το όνομά σας.
Γι 'αυτό θα πω Tim και στη συνέχεια να μπορεί να αλλάξει το όνομά σας στον Bob.
Και αυτό είναι όλο αυτό το εφαρμογή κάνει.
Αλλά αυτό που θα ήθελα να επισημάνω είναι πώς το κάνει.
Έτσι, δεν έχω αυτή τη γεννήτρια όνομα αντικείμενο το οποίο έχει μια μέθοδο εκκίνησης
η οποία ζητά από τον χρήστη για το όνομά τους
με ένα απλό τηλεφώνημα αυτό askForName
η οποία εδώ κάτω αυτό κάνει την προτροπή
εάν το όνομα δεν αποδόθηκε τότε ζητά ξανά
καλώντας αυτό το askForName.
Και στη συνέχεια, αφού παίρνει το όνομα, καλεί αυτό το όνομα της ενημερωμένης έκδοσης.
Έτσι, αυτό θέτει εν συνεχεία η όνομα χρήστη στην ετικέτα h1.
Και αν το όνομα δεν είναι που, ρίχνει ένα σφάλμα.
[ΑΚΟΥΓΕΤΑΙ Παρατήρηση]
Ω βέβαιος. Έτσι, θέτει το το όνομα χρήστη σε h1 tag
καλώντας setDisplayName το οποίο καθορίζει την HTML
στο δοχείο όνομα JS και Είμαι προτάσσοντας πάντα για την HTML μου
με JS επιλογείς μόνο και μόνο επειδή είναι μια καλή συνήθεια για να
σε απλά για να κάνουν αυτό δεν είναι τόσο σύγχυση
όταν χρησιμοποιείτε επιλογείς όπως ταυτότητα ή κλάσεις
τόσο για το ύφος και για τη λογική
σε JavaScript σας front-end εφαρμογές.
Γιατί αν έχετε διαφορετικές ομάδες των ατόμων που εργάζονται
στη βάση κώδικα και έχουν έναν επιλογέα εκεί
ότι ο σχεδιαστής αποφασίζει να αλλάξει επειδή Ειναι για -
δεν φαίνονται μεγάλες, έτσι θέλουν να θέσει σε μια νέα κατηγορία και να λάβει
από το δικό σας και είστε επικαλούμενη σε αυτό για σκοπούς JavaScript,
Στη συνέχεια τον κωδικό σας σπάει.
Είναι καλό να πρόθεμα και να ταξινομήσετε
των ονομάτων, όπως σχεδόν το JavaScript που σχετίζονται με τις κατηγορίες
ή ιδιότητες με ένα πρόθεμα του JS.
Έτσι, αυτό είναι αρκετά απλή και μπορείτε να δείτε
σε όλες αυτές τις περιπτώσεις είμαι καλώντας την επιστροφή αυτή στο τέλος.
Έτσι, αυτό είναι ένα καλό συνήθεια να μπει,
για να σας δώσει μια έγκυρη τιμή επιστροφής.
Σε askForName Δεν είμαι γιατί αυτό έχει νόημα
ότι θα πάρει το όνομα πίσω.
Αλλά αυτό που επιτρέπει η μπορείτε να κάνετε στη συνέχεια
αν επιστρέψει αυτήν την ενημερωμένη έκδοση όνομα, είναι επιστροφή της αξίας
της setDisplayName που είναι επιστρέφοντας την αξία αυτής.
Και αυτό σας επιτρέπει να ταξινομήσετε της αλυσίδας, όπως έχετε συνηθίσει
στο jQuery με την επιστροφή η αξία αυτού, κάθε φορά.
Αυτό αναφέρεται στην τρέχουσα αντικείμενα
ώστε να μπορείτε να καλέσετε αυτό το dot askForName dot setDisplayName
και θα κρατήσει το αξία αυτής και σας επιτρέπουν να
να έχουν εκεί μια ωραία αλυσίδα.
Και τότε - τόσο σε αυτό το δεύτερο παράδειγμα.
[Παύση]
Εντάξει.
OK. Οπότε ας πάμε μπροστά και να ανοίξει την κονσόλα
και πηγαίνετε στην καρτέλα πηγές μου.
Θα εμφανιστεί αυτό πραγματικά έξω.
Έτσι, ο κύριος του έργου Chrome εργαλεία που ανέφερα,
υπάρχει αυτό το κομμάτι στα δεξιά και α -
μπορείτε να δείτε αυτό το σήμα στοπ αν και εξ ορισμού, είναι μαύρο.
Αλλά όταν το ποντίκι σας πάνω από αυτό, λέει "Μην σταματήσετε σε εξαιρέσεις.
Κάντε κλικ στο για παύση όλες οι εξαιρέσεις ».
Και όταν κάνετε κλικ και πάλι, αυτό γίνεται μπλε.
Και τώρα οποτεδήποτε ότι υπάρχει ένα λάθος που ρίχνονται
στον κώδικά σας JavaScript, αυτό θα σταματήσει στο σημείο και σας επιτρέπουν να
να αξιολογήσουν ό, τι συμβαίνει.
Έτσι - Και αυτό είναι πραγματικά ένα χρήσιμο έννοια είναι για να επισημάνω.
Και στη συνέχεια, αν κάνετε κλικ στο κουμπί και πάλι, αυτό γίνεται μοβ
και αυτό είναι συνήθως τι να το κρατήσει μέσα
Σπάει μόνο τον κώδικα όταν υπάρχει μια εξαίρεση
ότι δεν έχει συλληφθεί.
Έτσι, πολλές φορές σε jQuery για παράδειγμα, που προσπαθούν αλιευμάτων
για να ελέγξετε αν ένα πρόγραμμα περιήγησης ή όχι έχει κάποιο είδος της ικανότητας
και να συνεχίσει από εκεί.
Αυτό είναι μόνο όταν υπάρχει ένα σφάλμα
ότι δεν έχει αλιεύονται σε μια προσπάθεια αλιευμάτων.
Έτσι, ας προσπαθήσουμε και να υποβάλουν ένα όνομα που είναι κενό.
Έτσι, μπορώ να δω ότι η κωδικός έχει διακοπεί
για τη μέθοδο updateName και μπορώ να το ποντίκι πάνω από τα ονόματα
και να δούμε ότι είναι άδειο για κενό.
Εκεί είναι ίσο με το κενό.
Έτσι, αν δεν αναφέρουμε ρίξει ένα νέο σφάλμα και τώρα μπορώ να βήμα πίσω
μέσω της λειτουργίας στήλη και να πει, "Εντάξει,
όπου έκανε αυτό προέρχονται », και δούμε ποια είναι η αξία του πελάτη είναι.
Γι 'αυτό έχει μέθοδος askForName,
setDisplayName αρχή και updateName.
Και αυτό είναι μόνο ένα πραγματικά χρήσιμο τρόπο μπορείτε να δείτε έχετε όλα τα
μεταβλητές που είναι διαθέσιμα σε αυτό το πεδίο, καθώς και
όπως τις μεταβλητές κλεισίματος, έτσι τίποτα που έχει κλείσει
πάνω από αυτή τη λειτουργία.
Και έτσι μπορώ να δω ότι - ποια είναι η αξία του πελάτη είναι
και ποια είναι η αξία του είναι αυτό.
Έτσι, αυτό το «γιατί είμαστε σε jQuery είναι ίση
στο τρέχον στοιχείο DOM.
Αλλά είναι πραγματικά χρήσιμο για τον εντοπισμό σφαλμάτων κώδικα
να σπάσει σε λάθη σαν αυτά.
Ένα άλλο χαρακτηριστικό της Chrome Επιθεωρητής είναι
ότι σε κάθε σημείο μπορείτε να κάντε κλικ στις διαφορετικές γραμμές
στη σειρά και αυτό θα σπάσει στους τόπους
όπου έχετε ορίσετε σημεία διακοπής από όπου και αν αναφέρονται ως.
Έτσι, αν κάνω κλικ, το γραμμή γίνεται μπλε.
Έτσι, επιτρέψτε μου να συνεχίσει το εκτέλεση εδώ, εντάξει, αυτό έσπασε.
Και τώρα ας ορίσετε το όνομα στην Αλίκη και πατήστε Υποβολή.
Έτσι τώρα μπορώ να δω ακόμα πριν φτάσει στο σημείο
επικαιροποίησης πάντα, είναι τώρα σταμάτησε εδώ έτσι μπορώ να δω
ότι αυτό το όνομά μου είναι Αλίκη και στη συνέχεια μπορώ να συνεχίσω -
επιτρέψτε μου να φορτώσετε τη σελίδα.
Εντάξει, έτσι τώρα που είναι ξεκινώντας από την έναρξη και πάλι,
έχει σταματήσει σε αυτό το γραμμή και μπορώ να δω
η ονομασία αυτή είναι επί του παρόντος απροσδιόριστη.
askForName είναι που θα λειτουργεί Είναι, έτσι ώστε να είναι συχνά χρήσιμο
αν έχετε λειτουργίες που είναι προέρχονται από διαφορετικά αρχεία
ή διάφορα μέρη της κώδικα, μπορείτε να δείτε πού είναι,
και στη συνέχεια άλμα σε αυτό, θα την αναδείξει.
Έτσι καλό να πάρει στη συνήθεια χρησιμοποιούν τα εργαλεία εντοπισμού σφαλμάτων
που δεν είναι μόνο κονσόλα καταγραφής dot.
Εντάξει, οπότε ας ρίξουμε μια δούμε ένα δεύτερο παράδειγμα
η οποία κάνει μεγαλύτερη χρήση των πρωτοτύπων που είχα αναφέρθηκα.
Έτσι, σε αυτό το παράδειγμα,
έχουμε τη δημιουργία ενός νέου λειτουργία που ονομάζεται CS
και αυτό είναι κεφαλαιοποιημένη έτσι ώστε το πρότυπο σύμβασης
σε JavaScript εάν είναι λειτουργία υποτίθεται ότι πρέπει να χρησιμοποιηθούν
ως κατασκευαστή, σε αντίθεση
ακριβώς ένα κανονικό τη λειτουργία, μπορείτε να το αξιοποιήσει.
Έτσι έχω κεφαλαίου CS και αυτό παίρνει μια μεταβλητή courseId
και courseTitle που Έθεσα σε αυτό το courseId,
αυτό courseTitle στον κατασκευαστή.
Και τότε θα καθορίζουν επίσης τους μαθητές και διαλέξεις ως κενές σειρές.
Έτσι, ο λόγος που -
Εντάξει, έτσι ώστε το πρωτότυπο Ακίνητα στη συνέχεια ορίζεται
εδώ κάτω - αυτό το πρότυπο είναι μόνο μια απλή υπογράμμισης
πρότυπο, ένα πρότυπο υπογράμμισης είναι ένας τρόπος που μπορείτε να -
παρόμοια με τα πρότυπα ότι ο Δαβίδ είχε αναφέρει
στο διακομιστή, μπορείτε να απλά γράψτε μια ετικέτα script
η οποία δεν είναι JavaScript σενάριο, αλλά ένα κείμενο HTML
και τι κάνω με jQuery είναι -
δεν τηρεί αυτά ανοικτή, ναι, εκεί θα πάμε.
Με jQuery, είναι να πάρει το HTML αξία του εν λόγω προτύπου
και στη συνέχεια διατρέχει το υπογραμμίζουν βιβλιοθήκες χρησιμότητα
κινητήρα πρότυπο.
Έτσι, η τεκμηρίωση γι 'αυτό είναι εδώ κάτω
κάτω από το πρότυπο χρησιμότητας
αλλά βασικά μπορείτε να διαβάσετε λίγο περισσότερα γι 'αυτό.
Αλλά αξιολογεί αυτή τη σειρά και το μετατρέπει σε μια συνάρτηση
το οποίο μπορούμε στη συνέχεια να περάσει τα δεδομένα μέσα και να το ονομάσουμε δυναμικά.
Τα επόμενα δύο μέθοδοι που έχω είναι addStudent και addLecture.
Αυτά τα προσθέσετε απλά για να το εσωτερικές συστοιχίες που έχω δημιουργήσει
στον κατασκευαστή και τότε η μέθοδος render.
Έτσι, ας δημιουργήσουμε το νέο παράδειγμα του CS που ονομάζεται 164
που έχει αυτό το μάθημα αριθμό 164 και τίτλο.
Και τότε CS50 η οποία έχει CS50 και εισαγωγή στο CS1
και στη συνέχεια, προσθέστε μερικές διαλέξεις φοιτητές
και στη συνέχεια να καλέσει CS50 παρέχουν.
Και αν μπορώ να εκτελέσει κώδικα, έτσι ώστε Κάνω ότι με Eval.
Ποτέ δεν θέλετε πραγματικά να χρησιμοποιήσετε η Eval, αλλά είμαι ακριβώς το είδος
για τη λήψη όλων των JavaScript που είναι εδώ
και την εκτέλεση σχετικά με τη μύγα.
Αυτό καθιστά σε αυτό template αυτές τις νέες περιπτώσεις
της τάξης CS που έχουν οι ιδιότητες, έτσι έχουμε φύγει
μέσα και να γίνει addLecture και addStudent για το καθένα.
Και όπως ανέφερα επειδή είμαι επιστροφή αυτή,
Μπορώ πραγματικά αλυσίδα αυτά addLecture και addStudent κλήσεις
και θα λειτουργήσει εξίσου καλά.
Το άλλο χαρακτηριστικό σε JavaScript ότι είναι ακόμη πιο χρήσιμο
στην πλευρά του server, όπου πραγματικά σε κάθε δεδομένη στιγμή
αν η αίτησή σας παίρνει μεγαλύτερο δεν γνωρίζουν πού είστε
και είναι πιο δύσκολο να ορίσετε αυτά τα επιμέρους σημεία διακοπής
που ανέφερα στην ο επιθεωρητής Chrome είναι
να χρησιμοποιούν τη λέξη-κλειδί εντοπισμού σφαλμάτων.
Γι 'αυτό ακριβώς D-Ε-Β-U-G-G-Ε-R.
Και όταν βάζετε ένα πρόγραμμα εντοπισμού σφαλμάτων λέξη-κλειδί στον κώδικά σας
και έχετε το - εκεί πάμε, δύο Gs.
Όταν βάζετε το πρόγραμμα εντοπισμού σφαλμάτων λέξη-κλειδί στον κώδικά σας
και τρέχετε ένα πρόγραμμα εντοπισμού σφαλμάτων
όπως το Chrome Επιθεωρητής εδώ
ή η πλευρά του διακομιστή Chrome Επιθεωρητής, λέει JavaScript
για να σταματήσει η εκτέλεση της σε αυτή τη γραμμή του κώδικα και, στη συνέχεια, σας επιτρέπει
στο βήμα μέσα από το υπόλοιπο της εκτέλεσης των κωδικών.
Έτσι, αν κάνω κλικ εκτέλεση κώδικα εδώ, είναι τώρα διακοπή
σε αυτή τη γραμμή εντοπισμού σφαλμάτων και μπορώ δείτε Εντάξει, εδώ είναι η αξία του CS50
και αυτό είναι ένα μάθημα πήρε τίτλο, φυσικά ID,
θα έχεις κανένα διαλέξεις, φοιτητών.
Και τότε μπορώ να το βήμα μέσω το σύνολο addLecture,
Μπορώ να δω ότι είναι πιέζοντας στις σε αυτές τις διαλέξεις,
το ποντίκι πάνω από αυτό, "Hello World".
Μπορώ πραγματικά στην κονσόλα να το κάνετε αυτό έτσι αυτό έχει οριστεί
για το τρέχον αντικείμενο ότι είστε μέσα
Αυτή η διάλεξη είναι "Hello World".
Και κρατήστε stepping μέσα όσο θέλω.
Αν δεν θέλετε να μπείτε
στην αιτία μιας κλήσης συνάρτησης ' Ξέρω τι συμβαίνει
να κάνει υπεισέλθω σε addLecture, υπάρχει αυτό το κουμπί εδώ
η οποία λέει ότι «Βήμα για την επόμενη κλήση της συνάρτησης ", και έτσι μπορώ να πάω
στο σημείο είχαν είμαι ίσως αναρωτιούνται για κάτι.
Όπως για παράδειγμα 164 παρέχουν.
Έτσι, σε αυτό το σημείο, είναι πρόκειται να παρασχεθεί.
Μπορώ να δω αυτό το πρότυπο είναι η καταρτίζονται πρότυπο.
Μπορώ να δω σε αυτό το σημείο θα πρέπει να έχουν δύο φοιτητές
και δύο διαλέξεις.
Και έπειτα υπάρχει το πρωτότυπο αλυσίδας που αναφερόταν σε.
Έτσι, το προεπιλεγμένο που έρχεται μαζί με μόλις ένα αντικείμενο
σε JavaScript σε γενικές γραμμές,
έρχεται με δύο χορδών αξία του κατασκευαστή.
Και τότε αυτοί που Έχω προσθέσει για τον εαυτό μου
με την addLecture, addStudent και, στη συνέχεια, οι ιδιότητες
που είναι μοναδικά σε αυτό περίπτωση της κατηγορίας
όπως έγινε επίκληση με τη νέα λέξη-κλειδί.
Ας κάνουμε ένα μόνο ακόμα παράδειγμα για το θέμα αυτό
και στη συνέχεια θα εντείνει σε ορισμένες πιο ενδιαφέροντα πράγματα
στην πλευρά του διακομιστή.
Ας πάμε μπροστά και να ανοίξει Αυτό το τελευταίο παράδειγμα το οποίο είναι -
ας δούμε, πού είναι ο κωδικός;
Δεν ξέρω πού πήγε αυτό.
Εντάξει, καλά, θα μπορούσαμε να πηδήσει ακριβώς πάνω από αυτόν τον κώδικα, στη συνέχεια, στην πραγματικότητα -
oh κρατήστε επάνω, νομίζω ότι έχασα το φύλλο στυλ για τον κώδικα.
Εντάξει, ας το κάνουμε αυτό το λίγο μεγαλύτερο.
Σε αυτό το παράδειγμα, δείχνω λίγο περισσότερο σχετικά με τον καθορισμό
της αλυσίδας πρωτότυπο,
έτσι τη δημιουργία κληρονομιάς με τη JavaScript.
Έτσι, σε αυτή την περίπτωση, έχουμε ένας κατάλογος που πρόκειται
να διατηρούν προφανώς πολλαπλούς κύκλους.
Και έτσι ένας κατάλογος έχει ένα μέθοδοι addCourse.
Έτσι, ελέγχει κατά πόσον η πορεία ότι έχει περάσει σε είναι ένα παράδειγμα
Φυσικά, όπως γίνεται επίκληση με τη νέα λέξη-κλειδί.
Έτσι, αν προσπαθήσετε και να στείλετε
σε κάτι διαφορετικό, θα φωνάζω σε σας.
Η μέθοδος καθιστούν το οποίο θα καθιστούν κάθε ένα από τα μαθήματα
με την κατάρτιση του προτύπου παρακάτω.
Και έχουμε την πορεία οποία η πρόσβαση
στην περίπτωση αυτή, η βασική κατηγορία για ατομικά μαθήματα τμήμα.
Και αντί να ορίζετε κάθε
του dot φυσικά πρωτότυπη μέθοδο dot
ή την ιδιοκτησία, χρησιμοποιώντας την έκταση βοηθός στη βιβλιοθήκη υπογράμμισης
να ταξινομήσετε κλήσης επεκτείνουν αυτό το πρωτότυπο με όλους
από αυτές τις ιδιότητες, οι οποίες είναι χρήσιμο, λίγο πιο εύκολο να διαβάσει.
Και στη συνέχεια, εδώ κάτω να κάνει αυτό που είναι γνωστό ως ρύθμιση
της αλυσίδας πρωτότυπο.
Έτσι, αυτό είναι πραγματικά ένα μικρό δύσκολο για τους ανθρώπους σε πρώτη
και ακόμα και ακόμα αφού γίνει αυτό για λίγο, αυτό είναι το είδος του σκληρού
να τυλίξουν το κεφάλι σας γύρω.
Αλλά μην αφήνετε να σας τρομάξει.
Έτσι Στήνω ένα νέο -
μια εντελώς νέα κατηγορία αντιρρήσεις εδώ, CS.
Και στον κατασκευαστή,
Λέω πορεία την εφαρμογή αυτής της επιχειρήματα.
Έτσι, τα επιχειρήματα είναι μια ειδική αξία Υποθέτω ότι θα μπορούσαμε να το αποκαλέσουμε
στην JavaScript, η λέξη-κλειδί που έχει όλα
του ό, τι είναι περάσει μαζί είναι τα επιχειρήματα
αυτή η λειτουργία είναι διαθέσιμη με τα επιχειρήματα κλήση,
με τη λέξη-κλειδί επιχειρήματα.
Έτσι όπως είμαι καλώντας με φυσικά dot ισχύουν,
αυτό είναι το σημερινό πλαίσιο με την οποία CS καλείται.
Έτσι, όταν το επικαλεστεί με το νέο είναι ένα - είναι μια αξία της CS.
Και λέω ονομάζουμε Φυσικά η μέθοδος εδώ.
Αχ συγνώμη - ονομάζουμε Φυσικά η μέθοδος ακριβώς εδώ
αλλά ορίστε την τιμή αυτή να είναι ανεξάρτητα από την αξία
αυτό είναι ακριβώς εδώ.
Έτσι, η λέξη-κλειδί εφαρμόζονται επιτρέπει μπορείτε να ταξινομήσετε του αλλάξει την κατάσταση
αυτού το οποίο είναι το πώς jQuery επιτρέπεται να ταξινομήσετε του διακόπτη
από αυτό σε σας ως περνάτε
και να κάνει μια DOM στοιχεία αντί του αντικειμένου jQuery.
Έτσι τώρα είμαι πρόκειται να θέσει μια προσωρινή λειτουργία
το οποίο θα τραβήξει το πρωτότυπο του μαθήματος.
Και το είδος αυτό που με το πρωτότυπό της
και στη συνέχεια ρυθμίστε το πρωτότυπο στο αντικείμενο λειτουργία CS
σε ένα νέο παράδειγμα αυτό.
Έτσι, βασικά είμαι λέγοντας αντ 'αυτού -
αν μου εδώ κάτω έκανε CS dot πρωτότυπο ισούται με νέα πορεία.
Τότε θα ήταν καλώντας τα πάντα
σε αυτή τη λειτουργία κατασκευαστή,
το οποίο δεν θα ήθελα αναγκαστικά ήθελε.
Οπότε το μόνο που κάνω είναι το είδος της δημιουργίας σχεδόν
σαν ένα υποκατάστατο λειτουργία που θα έχει το πρωτότυπο μαθήματα
σε αυτό και το είδος των μιμούνται το πρωτότυπο -
η πορεία, αλλά χωρίς να κάνει τα πάντα στον κατασκευαστή
και να ορίσετε αν το πρωτότυπο.
Και τότε είμαι απλά προσθέτοντας έτσι το τμήμα
σε αυτή την περίπτωση είναι υπολογιστής Επιστήμη για το αντικείμενο CS.
Και τότε θα έχουμε ένα είδος μια γέφυρα έκδοση για να γίνει αυτό.
Δεν λειτουργεί σε IE9.
Έτσι, γι 'αυτό ήθελα για να δείξει το είδος του τρόπου -
τι κάνει αυτό κάτω από την κουκούλα.
Αλλά μπορείτε να το ρυθμίσετε με τον ίδιο τρόπο
όπου Econ ισούται με τη λειτουργία Φυσικά ισχύουν αυτά τα επιχειρήματα
και στη συνέχεια να πω πρωτότυπο Econ dot ισούται με αντικείμενο dot CreateCourse
dot πρωτότυπο.
Έτσι είναι δημιουργεί ένα νέο αντικείμενο το οποίο είναι ακριβώς το πρωτότυπο
για την πορεία και έπειτα ορίσετε το τμήμα εκεί.
Έτσι, τώρα ας πάμε οριστεί εντοπισμού σφαλμάτων εδώ και κάντε κλικ στο τρέξιμο.
Εκεί πάμε.
Έτσι CS164 μπορούμε να δούμε το πρωτότυπο της αλυσίδας έχουμε το
ιδιότητες, τα οποία ήταν που στον κατασκευαστή.
Έτσι, οι τιμές αυτών που ορίστηκαν και στη συνέχεια την αλυσίδα πρωτότυπο
για το αντικείμενο CS είχε Τμήμα Επιστήμης Υπολογιστών θέσει.
Και στη συνέχεια στο υποκείμενο πρωτότυπο της αλυσίδας,
έχουμε τότε όλα τα μεθόδους και τις ιδιότητες
που είναι μοναδικές για το αντικείμενο πορεία.
Και τότε έχουμε τα αντικείμενα βάσης.
Έτσι, αυτό το είδος της μια γρήγορη παράδειγμα της αλυσίδας πρωτοτύπου.
Και όπως μπορείτε να δείτε εδώ, εκεί είναι δύο τιμές ανά τμήμα.
Έτσι, δεν υπάρχει τμήμα της επιστήμης των υπολογιστών
και στη συνέχεια το τμήμα δεν αναφέρονται σε αυτό, είπα
ως την προεπιλεγμένη τιμή εδώ.
Έτσι, η αλυσίδα πρωτότυπο είναι στην πραγματικότητα μόνο ένα μεμονομένο
Λίστα σύνδεσμο.
Και καθώς προσπαθεί να βρείτε ένα ακίνητο,
αυτό θα ξεκινήσει η κορυφαία τιμή επίπεδο.
Έτσι τι είναι τα οριζόμενα στο η συνάρτηση κατασκευαστής
και, στη συνέχεια, να μπω κάτω από το πρωτότυπο αλυσίδα από εκεί.
Έτσι, επειδή διαπίστωσε, έτσι -
αν το δικαίωμα εδώ, λέω CS50 dot Τμήμα,
αυτό θα πει Επιστήμης Υπολογιστών.
Αλλά αν πω var -
[Παύση]
Αλλά αν πω ανθρωπιστικές ισούται με νέα πορεία
και τότε λέω ανθρωπιστικές dot τμήματος,
Θα δείτε το τμήμα που δεν απαριθμούνται επειδή πήγε στην πρώτη της -
Μπορώ να δούμε το πρωτότυπο αλυσίδας εδώ στην πραγματικότητα.
Γι 'αυτό πήγε πρώτα στην πορεία αντιρρήσεις και είδα ότι δεν υπάρχει τίποτα
στην αλυσίδα πρωτότυπο στο αυτό το επίπεδο για το τμήμα
ή για τις αξίες τμήμα, έτσι τότε μεταπηδά στο επόμενο επίπεδο,
η πορεία και εμφάνιση διαβιβάζει εκεί και βρίσκει.
Γι 'αυτό ακριβώς το είδος του όπως κατεβαίνει από την κορυφή προς τα κάτω
και αυτό είναι το είδος της κάτι που είναι μοναδικό
περίπου JavaScript είναι ότι μπορείτε να αλλάξετε οποιαδήποτε
αυτών των αξιών σε κάθε δεδομένη στιγμή.
Έτσι, στον κατασκευαστή ή σε ένα μεμονωμένη μέθοδο στο αντικείμενο
αν θέλω να θέσει αυτό τμήμα σε κάτι νέο,
ή αν ακόμα θέλετε να ορίσετε οποιαδήποτε από αυτές τις λειτουργίες
που υπάρχουν ήδη
σε κάτι νέο, Είμαι ελεύθερος να το κάνει αυτό.
Έτσι, τώρα έχω CS50 τελεία addLecture, μοιάζει πολύ με αυτό.
Και αν θέλω να το θέσετε σε CS50 addLecture ισούται μόνο
σε κενή λειτουργία.
Στη συνέχεια, τώρα μπορώ να δω ότι είναι μόλις αλλάξει εντελώς
τα οποία δεν είστε σε θέση να κάνει μια άλλη γλώσσα
όπου μπορείτε να έχετε μια αυστηρότερη ταξικές κληρονομιάς
και όλα είναι το είδος της που έχει συσταθεί.
JavaScript είναι πολύ, πολύ ευέλικτο σε σχέση με αυτό.
Εντάξει, ας άλμα πίσω στις διαφάνειες.
Έτσι, αν για παράδειγμα Θα ήθελα πάντα μια λειτουργία
να έχουν μια συγκεκριμένη που αυτή η τιμή για αυτό.
Μπορείτε να καλέσετε τη λειτουργία dot δεσμεύουν
και να ορίσετε ποια είναι η αξία αυτό πρέπει να είναι.
Μπορείτε να σκεφτείτε από το ως -
«Προσπαθώ να σκεφτώ μια καλό παράδειγμα πραγματικό κόσμο, αλλά ",
αν θέλετε να προστατέψετε τον κωδικό σας
κατά κάποιον δυνητικά καλώντας σε μια τιμή
ότι δεν θα ήταν αυτό.
Όπως για παράδειγμα AJAX επανάκλησης όπως η υπέρβαση ή λάθους.
Αυτοί συνήθως δεν καλείται
με μια καλή σημασιολογική αξία αυτής.
Και είστε όπως, «Εντάξει, πάντα θέλετε αυτό να είναι η αξία
του αντικειμένου φυσικά ότι δουλεύω με.
Ή η άποψη που είμαι σε συνεργασία με το κωδικό μου
που αντιπροσωπεύει αυτή η DOM κόμβο, μπορείτε να ρυθμίσετε -
μπορείτε να συνδέσετε σε αυτό το πλαίσιο και στη συνέχεια, όταν λέγεται αργότερα
με jQuery και δεν έχουν καλή αξία του αυτό, θα επιμείνουμε
με ό, τι αυτό οριοθετείται με.
Στη συνέχεια υπάρχει κλήση της συνάρτησης ήταν μπορείτε να καθορίσετε το πλαίσιο
και να καθορίσετε οποιαδήποτε μεταβλητή αριθμό των επιχειρημάτων.
Και έπειτα υπάρχει η λειτουργία εφαρμόζουν το οποίο μπορείτε να περάσετε
στο πλαίσιο και Στη συνέχεια είτε μια σειρά
ή τα επιχειρήματα που αντιτάσσει ότι Ανέφερα όπως βλέπετε εκεί.
Και τα επιχειρήματα σε οποιαδήποτε λειτουργία που σας καλούν,
μπορείτε απλά να πληκτρολογήσετε η λέξη «επιχειρήματα»
και θα έχετε όλα τα επιχειρήματα.
Έχει ένα "μήκος" περιουσία
το οποίο είναι το πώς μπορεί επιχειρήματα ήταν στην πραγματικότητα πέρασε ότι οι μέθοδοι
δεδομένου ότι σε JavaScript μπορείτε να ταξινομήσετε κλήσης
με μεταβλητούς αριθμούς επιχειρημάτων.
Είναι χρήσιμο για να πούμε αν αυτό είχε ένα επιχείρημα,
Στη συνέχεια ακολουθούν αυτό το μονοπάτι κώδικα.
Αν είχε δύο, ίσως θέλουν να ακολουθήσουν έναν άλλο τρόπο.
Σας επιτρέπει να έχετε πραγματικά δυναμική APIs για τις μεθόδους σας.
Μπορείτε να σκεφτείτε ότι με jQuery
όπως όταν έχετε δολάρια dot ή δεσμεύουν.
Και αυτό το είδος δεν διαφορετικά πράγματα
ως προς το αν βάζετε ένα επιχείρημα ή δύο ή τρεις
ή να ξεκινήσετε με μια λειτουργία.
Χρησιμοποιεί τα επιχειρήματα ιδιοκτησία
και τα επιχειρήματα μήκος σε πολλές περιπτώσεις
να έχουν αυτό το μαγικό λειτουργικότητα συμβεί.
Τα πράγματα που δεν μπορείτε να κάνετε με επιχειρήματα που το χρησιμοποιούν μόνο
από προεπιλογή ως πίνακα.
Έτσι, μπορείτε να πείτε επιχειρήματα τρεις και να το θέσει σε κάτι
όπως μπορείτε να χρησιμοποιείτε η εκχώρηση πίνακα.
Μπορείτε να χρησιμοποιήσετε το - πολύ από τις μεθόδους υπογράμμισης
είτε για συλλογές ή για την εργασία με πίνακες,
μπορείτε να περάσετε σε επιχειρήματα και θα συνειδητοποιήσετε
ότι είναι μια επιχειρήματα αντικείμενο και το είδος
της να φροντίσει αυτό για σας.
Αλλά αν θέλετε να χρησιμοποιήσετε το επιχειρήματα που πέρασε
μέσα από μια συνάρτηση ως πίνακα,
μπορείτε να χρησιμοποιήσετε το χαρακτήρα υπογράμμισης dot δύο array.
Ένα από τον αριθμό των λειτουργιών χρησιμότητας
που είναι χτισμένα στο να υπογραμμίσει.