1 00:00:00,000 --> 00:00:02,862 >> [Παίζει μουσική] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVID Malan: Αυτό είναι CS50. 4 00:00:11,580 --> 00:00:12,880 Αυτή είναι η αρχή του εβδομάδα εννέα. 5 00:00:12,880 --> 00:00:15,797 Και αυτό είναι ό, τι θα έπρεπε ήταν 200ά γενέθλια του κ Boole 's. 6 00:00:15,797 --> 00:00:17,630 Έτσι, αυτό είναι οι υπότροφοι στους οποίους έχουμε υπαινίχθηκε 7 00:00:17,630 --> 00:00:21,800 αρκετά μερικές φορές σχετικά με τη χρήση Μεταβλητές Boolean αληθινό και το ψεύτικο, 8 00:00:21,800 --> 00:00:22,910 1 και 0 και τέτοια. 9 00:00:22,910 --> 00:00:25,270 Και αυτό ήταν της Google φόρο τιμής σε αυτόν σήμερα. 10 00:00:25,270 --> 00:00:26,489 Θα έχουν γυρίσει 200. 11 00:00:26,489 --> 00:00:28,280 Έτσι, αν θέλετε να ελάτε μαζί μας για CS50 το μεσημεριανό γεύμα, 12 00:00:28,280 --> 00:00:30,279 ρίξτε μια ματιά στο σύνδεσμο στην ιστοσελίδα του μαθήματος. 13 00:00:30,279 --> 00:00:33,580 Και μια τέτοια πρόσωπα και φίλους αυτά σας περιμένουν εδώ στο Καίμπριτζ. 14 00:00:33,580 --> 00:00:35,360 Πρόσωπα όπως αυτά σας περιμένουν στο New Haven. 15 00:00:35,360 --> 00:00:37,800 Και, στην πραγματικότητα, σε Ken Νιου Χέιβεν ευγενικά έκανε 16 00:00:37,800 --> 00:00:41,594 αυτό που ονομάζεται μια κινούμενη εικόνα GIF Eli εδώ σε ένα πρόσφατο lunch-- ένα GIF είναι ακόμα 17 00:00:41,594 --> 00:00:44,260 μια άλλη γραφική μορφή αρχείου, με την οποία είστε familiar-- ότι 18 00:00:44,260 --> 00:00:46,300 μοιάζει κάπως έτσι. 19 00:00:46,300 --> 00:00:48,179 Έτσι απλά μια ακολουθία of-- ΟΚ. 20 00:00:48,179 --> 00:00:49,720 Κανείς εδώ στο Cambridge είναι το γέλιο. 21 00:00:49,720 --> 00:00:51,720 Αλλά στο New Haven, αυτό Είναι πραγματικά αστείο, έτσι δεν είναι; 22 00:00:51,720 --> 00:00:52,350 Εντάξει. 23 00:00:52,350 --> 00:00:53,940 >> Έτσι, μην ενωθούν μαζί μας εκεί. 24 00:00:53,940 --> 00:00:55,900 Εδώ στο Χάρβαρντ, Συγκεκριμένα, αυτή την Τετάρτη, 25 00:00:55,900 --> 00:00:59,480 εάν είστε ένας δευτεροετής φοιτητής πρωτοετής ή even-- ή ακόμα και junior-- σκέψης των αποφάσεων 26 00:00:59,480 --> 00:01:01,563 ένας διακόπτης στον υπολογιστή επιστήμη, γνωρίζουμε ότι θα υπάρξει 27 00:01:01,563 --> 00:01:04,440 να συμβουλεύει το CS δίκαιη αυτή Τετάρτη, λίγο μετά το μάθημα 28 00:01:04,440 --> 00:01:08,040 στις 16:00 μ.μ. στον υπολογιστή επιστήμη κτίριο Maxwell Dworkin. 29 00:01:08,040 --> 00:01:11,890 Θα θέσει αυτό από την πορεία του ιστοσελίδα αύριο, όπως καλά. 30 00:01:11,890 --> 00:01:14,430 Donuts, μου έχουν πει, θα εξυπηρετούνται. 31 00:01:14,430 --> 00:01:15,180 >> Εντάξει. 32 00:01:15,180 --> 00:01:18,790 Έτσι αστείο story-- ήμουν σπρώχνει γύρω στο διαδίκτυο, 33 00:01:18,790 --> 00:01:23,575 και βρήκα κάποια παλιά αρχεία της πρώην ιστοσελίδας μου. 34 00:01:23,575 --> 00:01:25,950 Και αποδεικνύεται out-- γύρω από αυτό ώρα, φαίνεται ότι είναι πολύ επίκαιρη 35 00:01:25,950 --> 00:01:28,910 αφού κατάλαβα ότι οι εκλογές UC πρόκειται να επιστρατευθεί ξανά. 36 00:01:28,910 --> 00:01:32,230 Γι 'αυτό και έτρεξε για UC, έχασε οικτρά. 37 00:01:32,230 --> 00:01:34,770 Και ίσως αυτό ήταν εν μέρει ο λόγος. 38 00:01:34,770 --> 00:01:37,600 Έτσι, αυτό ήταν ιστοσελίδα μου εκείνη την εποχή. 39 00:01:37,600 --> 00:01:40,477 Για κάποιο λόγο, σκέφτηκα ότι ήταν μια καλή ιδέα, πριν να λέει στους ανθρώπους 40 00:01:40,477 --> 00:01:43,310 τι πλατφόρμα μου ήταν και γιατί πρέπει να ψηφίσει για μένα, ότι έχουν 41 00:01:43,310 --> 00:01:47,770 να κάνετε κλικ για να εισέλθουν για να ανακαλύψει ότι πληροφορίες, οι οποίες εκ των υστέρων είναι 42 00:01:47,770 --> 00:01:48,660 είδος ανατριχιαστικό. 43 00:01:48,660 --> 00:01:50,910 Δεν ξέρω πραγματικά τι ήταν αυτό. 44 00:01:50,910 --> 00:01:53,140 >> Αλλά σίγουρα δεν το έκανε να βοηθήσει την καμπάνια μου. 45 00:01:53,140 --> 00:01:56,874 Βρήκα επίσης ότι από τα ανώτερα year-- Είχα αυτό το ημερολόγιο Muppet. 46 00:01:56,874 --> 00:01:58,540 Muppets ήταν το είδος της στη μόδα τότε. 47 00:01:58,540 --> 00:01:59,456 Ή ίσως δεν ήταν. 48 00:01:59,456 --> 00:02:01,790 Είχα ένα ημερολόγιο Muppet τότε. 49 00:02:01,790 --> 00:02:04,860 Και σκέφτηκα ότι θα ήταν δροσερό για το όνομα ο υπολογιστής μου στο δίκτυο του Χάρβαρντ 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu. 51 00:02:07,460 --> 00:02:10,370 Εκείνη την εποχή, είχαμε όλοι μοναδικά αναγνωρίσιμα ονόματα κεντρικών υπολογιστών. 52 00:02:10,370 --> 00:02:13,150 Και θα μπορούσατε να επιλέξετε κάποια ματαιοδοξία όνομα αντί το δικό σας όνομα. 53 00:02:13,150 --> 00:02:15,580 Και πήγα με βατραχανθρώπων για κάποιο λόγο. 54 00:02:15,580 --> 00:02:19,040 >> Και τότε started-- Πέρασα πολύ του χρόνου κλικ μέσω αυτών των διασυνδέσεων 55 00:02:19,040 --> 00:02:20,280 αυτό το πρωί. 56 00:02:20,280 --> 00:02:24,690 Και αυτό ήταν για τη σελίδα μου, η οποία τώρα είδος φαίνεται αξιολάτρευτο. 57 00:02:24,690 --> 00:02:28,210 Αλλά επίσης μαρτυρεί μόνο πόσο η τεχνολογία έχει έρθει. 58 00:02:28,210 --> 00:02:30,310 Θέλω να πω, πίσω στην ημέρα, 486 ήταν κάτι. 59 00:02:30,310 --> 00:02:34,090 Αυτές τις μέρες, είναι σούπερ, σούπερ, σούπερ αργή και λιγότερο καλά 60 00:02:34,090 --> 00:02:36,216 από ό, τι μπορεί να έχετε σε σας δική τσέπες αυτές τις μέρες. 61 00:02:36,216 --> 00:02:38,465 Υπάρχει περισσότερο εκεί που ήταν ακόμη πιο ενοχλητικό. 62 00:02:38,465 --> 00:02:39,770 Γι 'αυτό θα το αφήσουμε εκεί. 63 00:02:39,770 --> 00:02:42,640 Αλλά αυτή ήταν η πρώτη μου επιδρομή στο web-- Ω, όχι. 64 00:02:42,640 --> 00:02:43,180 Αυτό δεν ήταν. 65 00:02:43,180 --> 00:02:47,000 Η πρώτη μου πραγματική επιδρομή στο web προγραμματισμό Ήταν αυτό το site, το οποίο θα ήθελα απλώς ξέχασα. 66 00:02:47,000 --> 00:02:50,620 Σε κάποιο σημείο, έμαθα πώς να κάνουν επαναλαμβανόμενες εικόνες φόντου. 67 00:02:50,620 --> 00:02:55,260 Και έτσι βρήκα αυτό πλακάκια αποτελεσματική, σαν παίκτης του χόκεϊ, ποδόσφαιρο, γκολφ και 68 00:02:55,260 --> 00:02:58,040 μπάλα, ή οτιδήποτε άλλο που είναι για την ιστοσελίδα Frosh ΔΥ. 69 00:02:58,040 --> 00:03:01,390 Και αυτό ήταν πραγματικά, πραγματικά η πρώτο web-based πρόγραμμα πήρα on-- 70 00:03:01,390 --> 00:03:03,880 Νομίζω ότι ίσως δευτεροετής φοιτητής έτους, junior year-- 71 00:03:03,880 --> 00:03:07,622 μετά τη λήψη CS50 και CS51, ένα από τις κοινές κατατάξεις διάδοχο. 72 00:03:07,622 --> 00:03:09,330 Παρατήρησα στην αναζήτηση μέσω των αρχείων 73 00:03:09,330 --> 00:03:12,150 ότι ένας από τους διαδόχους μου και φίλους, Lee, το είδος του άλλαξε 74 00:03:12,150 --> 00:03:13,480 τα πνευματικά δικαιώματα για τον εαυτό του. 75 00:03:13,480 --> 00:03:17,520 Αλλά αυτό ήταν πράγματι κάτι που Θα πρέπει να κατέχουν την αμηχανία. 76 00:03:17,520 --> 00:03:19,370 Αλλά εκείνη την εποχή, αυτό ήταν η πρώτη ιστοσελίδα, 77 00:03:19,370 --> 00:03:22,220 όπως είπα πριν από λίγες εβδομάδες, με την οποία θα μπορούσε καινούριο 78 00:03:22,220 --> 00:03:24,350 εγγραφείτε εντός των τειχών του αθλητισμού εδώ. 79 00:03:24,350 --> 00:03:27,950 Και έτσι αποδεικνύεται ότι οι εικόνες φόντου 80 00:03:27,950 --> 00:03:29,530 όπως ότι δεν είναι και τόσο καλή ιδέα. 81 00:03:29,530 --> 00:03:31,840 Αλλά η ιστοσελίδα ήταν νέα, και ήμασταν όλοι πειραματίζονται. 82 00:03:31,840 --> 00:03:34,310 Και αυτό είναι ό, τι προφανώς το έκανε εκείνη την εποχή. 83 00:03:34,310 --> 00:03:34,810 Εντάξει. 84 00:03:34,810 --> 00:03:38,020 Έτσι, χωρίς άλλη καθυστέρηση, θα στραφούν ετοιμάζεται σήμερα να σας δώσω, πραγματικά, 85 00:03:38,020 --> 00:03:42,250 το τελευταίο κομμάτι που μπορείτε να βρείτε ιδιαίτερα χρήσιμο για την τελική έργων 86 00:03:42,250 --> 00:03:44,780 αλλά επίσης ότι θα αρχίσει να κάνουν όλο το World Wide Web 87 00:03:44,780 --> 00:03:46,680 αισθάνονται λίγο πιο κατανοητή. 88 00:03:46,680 --> 00:03:49,460 Πράγματι, θα πάμε να εισαγάγει μία ακόμη γλώσσα προγραμματισμού 89 00:03:49,460 --> 00:03:52,474 που ονομάζεται JavaScript που είναι παρόμοια και διαφορετικό με διαφορετικούς τρόπους 90 00:03:52,474 --> 00:03:54,140 από τις γλώσσες που έχουμε εξετάσει μέχρι σήμερα. 91 00:03:54,140 --> 00:03:55,807 >> Έτσι C, ανάκληση, είναι αυτή καταρτίζονται γλώσσα. 92 00:03:55,807 --> 00:03:57,473 Έχετε να τρέξει μέσα από ένα μεταγλωττιστή. 93 00:03:57,473 --> 00:03:59,810 Μπορείτε να πάρετε τον πηγαίο κώδικα για να αντιταχθούν κώδικα, ή μηδενικά και αυτοί. 94 00:03:59,810 --> 00:04:03,000 Και αυτά είναι μηδενικά και αυτοί που CPU σας, Κεντρική Μονάδα Επεξεργασίας, 95 00:04:03,000 --> 00:04:04,360 πραγματικά καταλαβαίνουν. 96 00:04:04,360 --> 00:04:06,610 PHP, αντίθετα, δεν είναι ένα μεταγλωττισμένο γλώσσα. 97 00:04:06,610 --> 00:04:08,772 Είναι ένα τι; 98 00:04:08,772 --> 00:04:09,980 Είναι μια ερμηνευμένη γλώσσα. 99 00:04:09,980 --> 00:04:11,750 Έτσι, υπάρχει κάποιο πρόγραμμα λέγεται ότι διερμηνέα 100 00:04:11,750 --> 00:04:13,708 πρέπει να διαβάσετε επάνω σε it-- κάτω, αριστερά προς right-- 101 00:04:13,708 --> 00:04:16,519 και να καταλάβω τι όλα σύνταξη σας κάνει και τα μέσα, 102 00:04:16,519 --> 00:04:20,200 είτε πρόκειται για ένα βρόχο ή μια κατάσταση ή οποιοδήποτε άλλο αριθμό προγραμματισμού 103 00:04:20,200 --> 00:04:20,740 κατασκευάζει. 104 00:04:20,740 --> 00:04:22,210 Έτσι, αυτό είναι μια ερμηνευμένη γλώσσα. 105 00:04:22,210 --> 00:04:23,910 >> Στη συνέχεια, εισάγαμε HTML. 106 00:04:23,910 --> 00:04:26,440 Και HTML δεν είναι καν γλώσσα προγραμματισμού. 107 00:04:26,440 --> 00:04:28,110 Εμείς θα το ονομάζουμε αυτό; 108 00:04:28,110 --> 00:04:31,650 Μια γλώσσα σήμανσης, η οποία απέχει μόλις ένα είδος φανταχτερό τρόπο λέγοντας ότι 109 00:04:31,650 --> 00:04:35,820 δεν έχει προγραμματιστικές δομές όπως είδαμε ακόμα και πίσω στην ημέρα του Scratch. 110 00:04:35,820 --> 00:04:36,720 Δεν υπάρχουν βρόχους. 111 00:04:36,720 --> 00:04:37,920 Δεν υπάρχουν προϋποθέσεις. 112 00:04:37,920 --> 00:04:40,820 Είναι πραγματικά μια γλώσσα σχετικά με τη σήμανση ασφαλείας των δεδομένων σας 113 00:04:40,820 --> 00:04:43,620 και μορφοποίηση ή δόμηση με κάποιο τρόπο. 114 00:04:43,620 --> 00:04:46,147 >> CSS, εν τω μεταξύ, ομοίως δεν είναι μια γλώσσα προγραμματισμού. 115 00:04:46,147 --> 00:04:47,730 Είναι ακόμη πιο αισθητικά προσανατολισμένη. 116 00:04:47,730 --> 00:04:50,470 Και σας επιτρέπει να ταξινομήσετε του να τελειοποιήσουν πράγματα όπως το μέγεθος της γραμματοσειράς και χρώματα 117 00:04:50,470 --> 00:04:51,850 και την τοποθέτηση και όλα αυτά. 118 00:04:51,850 --> 00:04:52,370 Τότε είχαμε 119 00:04:52,370 --> 00:04:53,160 >> SQL. 120 00:04:53,160 --> 00:04:56,010 Έτσι SQL είναι πράγματι ένας προγραμματισμός γλώσσα κατά κάποιο τρόπο, 121 00:04:56,010 --> 00:04:59,330 έστω και προσαρμοσμένα ειδικά για τις βάσεις δεδομένων. 122 00:04:59,330 --> 00:05:03,347 Αλλά ακόμα κι αν σας παρουσιάσουμε μόνο επιλέξτε και εισάγετε και να διαγράψετε και να ενημερώσετε 123 00:05:03,347 --> 00:05:05,430 και ένα ζευγάρι των άλλων, Βγάζει μπορείτε πραγματικά 124 00:05:05,430 --> 00:05:07,380 γράφετε λειτουργίες ή διαδικασιών, δεδομένου ότι είναι 125 00:05:07,380 --> 00:05:11,270 κάλεσε, στο SQL που φαίνονται και πράξη αρκετά όπως PHP και C λειτουργιών. 126 00:05:11,270 --> 00:05:12,390 Έτσι, γνωρίζουμε ότι αυτοί υπάρχουν. 127 00:05:12,390 --> 00:05:15,348 Αλλά δεν κάνουν καν τον κόπο μαζί τους όπως ακριβώς γρατσουνίσει την επιφάνεια εδώ. 128 00:05:15,348 --> 00:05:18,600 Και έπειτα το JavaScript, η τελευταία από τις γλώσσες μας παρουσίασε επισήμως. 129 00:05:18,600 --> 00:05:21,029 Έτσι JavaScript, πάρα πολύ, είναι μια ερμηνευμένη γλώσσα. 130 00:05:21,029 --> 00:05:23,070 Και όσοι είναι εξοικειωμένοι, κάνει Θέλετε να το διακρίνει 131 00:05:23,070 --> 00:05:26,960 με κάποιο χαρακτηριστικό τόσο από C και PHP; 132 00:05:26,960 --> 00:05:28,300 Αυτό που το καθιστά διαφορετικό; 133 00:05:28,300 --> 00:05:29,650 >> Κοινό: Δεν είναι καταρτίζονται. 134 00:05:29,650 --> 00:05:29,930 >> DAVID Malan: Πείτε ξανά; 135 00:05:29,930 --> 00:05:31,200 >> Κοινό: Δεν είναι καταρτίζονται. 136 00:05:31,200 --> 00:05:31,930 >> DAVID Malan: Δεν είναι καταρτίζονται. 137 00:05:31,930 --> 00:05:33,450 Έτσι, επίσης, ερμηνεύεται. 138 00:05:33,450 --> 00:05:34,760 Έτσι δεν είναι καταρτίζονται. 139 00:05:34,760 --> 00:05:37,210 Αλλά αυτό το κάνει λίγο σαν PHP. 140 00:05:37,210 --> 00:05:39,545 Αλλά εξακολουθεί να είναι διαφορετική από την PHP σε κάποιο εντυπωσιακό τρόπο, 141 00:05:39,545 --> 00:05:40,920 τουλάχιστον με τον τρόπο που θα το χρησιμοποιήσει. 142 00:05:40,920 --> 00:05:41,205 Ναι; 143 00:05:41,205 --> 00:05:41,940 >> Κοινό: Τρέχει την πλευρά του πελάτη. 144 00:05:41,940 --> 00:05:44,000 >> DAVID Malan: Τρέχει client-side, συνήθως. 145 00:05:44,000 --> 00:05:47,190 Αυτό είναι πράγματι το διακριτικό χαρακτηριστική για μας τώρα. 146 00:05:47,190 --> 00:05:51,170 C ήταν server-side με την έννοια ότι κάναμε τα πάντα σε CS50 IDE. 147 00:05:51,170 --> 00:05:53,630 PHP μέχρι στιγμής έχει server-side στο βαθμό 148 00:05:53,630 --> 00:05:56,550 καθώς, επίσης, παίρνει interpreted-- δεν καταρτίζονται, αλλά interpreted-- 149 00:05:56,550 --> 00:06:00,690 μέσα CS50 IDE, το οποίο φυσικά είναι μόνο ένας server ή των servers στο σύννεφο. 150 00:06:00,690 --> 00:06:03,070 >> Αλλά JavaScript, ακόμη και κι αν θα πάμε 151 00:06:03,070 --> 00:06:07,000 να αρχίσει να γράφει το για, ας πούμε, το chipset οκτώ και ίσως τελική projects-- είστε 152 00:06:07,000 --> 00:06:09,620 πρόκειται να το διορθώσει σε CS50 IDE και να το αποθηκεύσετε 153 00:06:09,620 --> 00:06:14,760 σε αρχεία μέσα CS50 IDE, IDE CS50 και, με τη σειρά τους, οι διακομιστές σύννεφο 154 00:06:14,760 --> 00:06:19,160 στο οποίο φιλοξενείται, δεν πρόκειται να ερμηνεύσει ή να εκτελέσει κώδικα σας. 155 00:06:19,160 --> 00:06:23,880 Μάλλον, πρόκειται να σταλεί αναλλοίωτη μορφή κάτω στο πρόγραμμα περιήγησης. 156 00:06:23,880 --> 00:06:26,990 Και είναι τότε πρόκειται να είναι IE ή Chrome ή Firefox ή Safari 157 00:06:26,990 --> 00:06:30,697 ή οτιδήποτε άλλο που ερμηνεύει πραγματικότητα αυτό, πάνω προς τα κάτω, αριστερά προς τα δεξιά. 158 00:06:30,697 --> 00:06:32,780 Έτσι, το βασικό διακριτικό χαρακτηριστική για σήμερα 159 00:06:32,780 --> 00:06:36,110 είναι ότι το JavaScript είναι client-side και PHP, για παράδειγμα, 160 00:06:36,110 --> 00:06:37,690 έχει γίνει server-side. 161 00:06:37,690 --> 00:06:40,920 Τώρα, αυτό έχει ενδιαφέρουσες επιπτώσεις για, όπως, πνευματικής ιδιοκτησίας 162 00:06:40,920 --> 00:06:42,660 και ποιος μπορεί να δει πραγματικά τον κωδικό σας. 163 00:06:42,660 --> 00:06:44,860 Και πράγματι, μπορείτε να πάτε στο διαδίκτυο και να δείτε περισσότερα 164 00:06:44,860 --> 00:06:47,530 οποιονδήποτε κωδικό που κάποιος έχει γραμμένα σε JavaScript. 165 00:06:47,530 --> 00:06:50,230 Μερικές φορές είναι αναγνώσιμα, μερικές φορές είναι ασαφή. 166 00:06:50,230 --> 00:06:52,550 Αλλά περισσότερα για αυτό σε εύθετο χρόνο. 167 00:06:52,550 --> 00:06:57,530 >> Έτσι JavaScript, αρκετά όμορφα, είναι σούπερ παρόμοια, συντακτικά, σε C. 168 00:06:57,530 --> 00:06:59,364 Και μοιάζει πολύ με την PHP, δεν υπάρχει κύρια λειτουργία. 169 00:06:59,364 --> 00:07:02,113 Αν θέλετε να ξεκινήσετε το γράψιμο JavaScript κώδικα, όπως θα δείτε σήμερα, 170 00:07:02,113 --> 00:07:03,270 μπορείτε απλά να αρχίσετε να γράφετε. 171 00:07:03,270 --> 00:07:06,910 Αλλά είναι, θα δείτε, ιδίως χρήσιμα στο πλαίσιο των web browsers. 172 00:07:06,910 --> 00:07:09,820 Ωστόσο, λίγο μου disclaimer-- συνήθως earlier-- 173 00:07:09,820 --> 00:07:13,790 ήταν να πω ότι μπορείτε ολοένα σήμερα το JavaScript χρήση server-side 174 00:07:13,790 --> 00:07:17,655 χρησιμοποιώντας ένα φανταχτερό πλαίσιο που ονομάζεται Node.js ότι ορισμένες από τις δικές της εφαρμογές του CS50 175 00:07:17,655 --> 00:07:18,280 είναι γραμμένα σε. 176 00:07:18,280 --> 00:07:20,640 Ελέγξτε το 50 πράγματι χρησιμοποιεί Node.js. 177 00:07:20,640 --> 00:07:24,140 Αλλά θα πάμε να επικεντρωθεί στην Το JavaScript πλευρά του πελάτη εδώ και στο εξής. 178 00:07:24,140 --> 00:07:26,750 >> Έτσι, εδώ είναι ένα σύνολο συνθηκών στην PHP. 179 00:07:26,750 --> 00:07:29,350 Λυπούμαστε, in-- στην πραγματικότητα, ότι δήλωση, πάρα πολύ είναι σωστή. 180 00:07:29,350 --> 00:07:32,200 Εδώ είναι, επίσης, μια σειρά από συνθήκες σε JavaScript. 181 00:07:32,200 --> 00:07:35,560 Συντακτικά, είναι ταυτόσημη με C και σε PHP. 182 00:07:35,560 --> 00:07:39,040 Εκφράσεις του κ Boole είναι, Ομοίως, συντακτικά 183 00:07:39,040 --> 00:07:41,190 ταυτόσημη με δύο C και PHP. 184 00:07:41,190 --> 00:07:44,100 Έχουμε επίσης τους διακόπτες σε JavaScript που φαίνονται ίδια. 185 00:07:44,100 --> 00:07:46,350 Έχουμε για βρόχους που είναι δομημένη με τον ίδιο τρόπο, 186 00:07:46,350 --> 00:07:48,140 while loops, κάνει, ενώ βρόχους. 187 00:07:48,140 --> 00:07:49,980 >> Αυτό και μόνο είναι λίγο διαφορετικό. 188 00:07:49,980 --> 00:07:53,120 PHP είχε η κάθε κατασκεύασμα ότι μπορεί να χρησιμοποιείτε 189 00:07:53,120 --> 00:07:55,320 ή θα χρησιμοποιήσει το chipset σε επτά, ίσως. 190 00:07:55,320 --> 00:07:59,460 JavaScript έχει αυτή την ειδική έκδοση του για όπου μπορείτε κυριολεκτικά να πω κάτι 191 00:07:59,460 --> 00:08:03,864 όπως για τη μεταβλητή κλειδί στο αντικείμενο, το οποίο είναι ένα πολύ συνοπτικό τρόπο λέγοντας, 192 00:08:03,864 --> 00:08:06,780 αν έχω και ένα αντικείμενο και θα μιλήσουμε για αυτά και πάλι σε μια moment-- 193 00:08:06,780 --> 00:08:10,370 και θέλω να επαναλάβετε σε όλους από τα βασικά ζεύγη τιμών στο εσωτερικό, 194 00:08:10,370 --> 00:08:13,620 Δεν έχω να καταλάβω πώς να αριθμητικά δείκτη τους με μηδέν, ένα, 195 00:08:13,620 --> 00:08:14,580 δύο, τρία. 196 00:08:14,580 --> 00:08:15,900 >> Μπορώ να πω κυριολεκτικά αυτό. 197 00:08:15,900 --> 00:08:20,740 Και σε κάθε επανάληψη, το JavaScript για μένα θα ενημερώσετε τη μεταβλητή κλειδί 198 00:08:20,740 --> 00:08:24,810 να είναι το πρώτο κλειδί, τότε το επόμενο κλειδί, τότε το επόμενο κλειδί, τότε το επόμενο κλειδί, 199 00:08:24,810 --> 00:08:25,510 και ούτω καθεξής. 200 00:08:25,510 --> 00:08:30,000 Και μπορώ να πάρω με την αξία τους από τη θεραπεία ένα αντικείμενο σε JavaScript, όπως θα δούμε, 201 00:08:30,000 --> 00:08:32,584 σαν να είναι ένα associative πίνακα στην PHP. 202 00:08:32,584 --> 00:08:35,750 Πράγματι, αν τελικά τυλιγμένο σας νου γύρω από ό, τι μια συνειρμική σειρά είναι 203 00:08:35,750 --> 00:08:40,140 σε PHP, μπορείτε να σκεφτείτε ότι για το παρόν ταυτόσημη με ένα αντικείμενο σε JavaScript. 204 00:08:40,140 --> 00:08:42,030 Αλλά αυτό είναι ένα κομμάτι της μια υπεραπλούστευση. 205 00:08:42,030 --> 00:08:47,230 >> Πίνακες δούμε, αρκετά όμορφα, πανομοιότυπα στην PHP εκτός από ένα χαρακτήρα. 206 00:08:47,230 --> 00:08:51,425 Υπάρχει ένα πράγμα που λείπει εδώ ότι είδαμε την περασμένη εβδομάδα με την PHP. 207 00:08:51,425 --> 00:08:52,050 Τι παραλείπεται; 208 00:08:52,050 --> 00:08:53,310 Ναι; 209 00:08:53,310 --> 00:08:54,090 Δεν το σύμβολο του δολαρίου. 210 00:08:54,090 --> 00:08:56,240 Έτσι, είμαστε πίσω σε μια πιο κανονικό κόσμο, όπου 211 00:08:56,240 --> 00:08:58,050 μεταβλητές δεν έχουν το σύμβολο του δολαρίου. 212 00:08:58,050 --> 00:09:00,810 Αλλά κάνετε πρόθεμα τους με var, συνήθως. 213 00:09:00,810 --> 00:09:02,230 Και var σημαίνει μεταβλητή. 214 00:09:02,230 --> 00:09:06,440 Και σαν PHP είναι χαλαρά typed-- όπου υπάρχουν είδη, 215 00:09:06,440 --> 00:09:10,120 υπάρχουν αριθμοί και συμβολοσειρές και άρματα και έτσι forth-- 216 00:09:10,120 --> 00:09:11,570 JavaScript έχει παρόμοια είδη. 217 00:09:11,570 --> 00:09:15,470 Αλλά είναι χαλαρά πληκτρολογήσει στο ότι η οι προγραμματιστές δεν χρειάζεται να τις προσδιορίσει. 218 00:09:15,470 --> 00:09:18,980 Εμείς απλά πρέπει να γνωρίζουμε ότι υπάρχουν διαφορετικοί τύποι. 219 00:09:18,980 --> 00:09:21,690 >> Μεταβλητές, meanwhile-- εδώ είναι το πώς μπορούμε να δηλώσουμε "Γεια σου, κόσμε" 220 00:09:21,690 --> 00:09:22,230 ως ένα string. 221 00:09:22,230 --> 00:09:24,890 Παρατηρήστε ότι είναι ταυτόσημη με PHP αλλά όχι το σύμβολο του δολαρίου. 222 00:09:24,890 --> 00:09:27,120 Και αυτό είναι κάτι που θα να αρχίσουμε να βλέπουμε περισσότερο σήμερα, 223 00:09:27,120 --> 00:09:30,990 σύμφωνα με την οποία έχετε ένα αντικείμενο με τα πλήκτρα και τις αξίες. 224 00:09:30,990 --> 00:09:32,990 Και αν θέλετε να δοκιμάσετε να συναχθεί από την τελευταία week-- 225 00:09:32,990 --> 00:09:34,730 η σύνταξη είναι λίγο διαφορετική. 226 00:09:34,730 --> 00:09:39,740 Αλλά λίγο λογική check-- πόσες πλήκτρα κάνει αυτό το αντικείμενο φαίνεται να έχει; 227 00:09:39,740 --> 00:09:40,850 Έτσι βλέπω τέσσερις. 228 00:09:40,850 --> 00:09:43,560 Βλέπω δύο. 229 00:09:43,560 --> 00:09:44,680 >> Έτσι είναι στην πραγματικότητα δύο. 230 00:09:44,680 --> 00:09:47,260 Έτσι, αυτό είναι μια συλλογή δύο ζεύγη κλειδιού-τιμής. 231 00:09:47,260 --> 00:09:49,820 Το κλειδί είναι το σύμβολο του οποίου η αξία είναι FB. 232 00:09:49,820 --> 00:09:52,620 Το κλειδί είναι η τιμή των οποίων η αξία είναι 101,53. 233 00:09:52,620 --> 00:09:54,230 Αυτά λοιπόν είναι τα δύο ζεύγη κλειδιού-τιμής. 234 00:09:54,230 --> 00:09:58,120 Και να θυμάστε, PHP-- και αυτό είναι και πάλι ακριβώς το είδος των συντακτικών διαφορά. 235 00:09:58,120 --> 00:10:00,170 Δεν είναι ό, τι πνευματικά ενδιαφέροντα. 236 00:10:00,170 --> 00:10:04,610 PHP θα μπορούσε να γράψει αυτό το ίδιο πράγμα όπως follows-- απόσπασμα, ισούται με. 237 00:10:04,610 --> 00:10:06,730 Και μπορώ να αλλάξω αυτά να αγκύλες. 238 00:10:06,730 --> 00:10:11,240 Και στη συνέχεια να το αλλάξω αυτό να εισηγμένη στο χρηματιστήριο λέξη, "τιμή". 239 00:10:11,240 --> 00:10:12,500 Και τότε εγώ δεν χρησιμοποιούν άνω και κάτω τελεία. 240 00:10:12,500 --> 00:10:15,060 Τι έκανα χρησιμοποιήσετε την περασμένη εβδομάδα; 241 00:10:15,060 --> 00:10:18,290 Ναι, το σύμβολο του ίσον arrow funky σημειογραφία. 242 00:10:18,290 --> 00:10:21,470 >> Και τότε έκανα το ίδιο πράγμα εδώ. 243 00:10:21,470 --> 00:10:23,580 Ίδιο πράγμα εδώ. 244 00:10:23,580 --> 00:10:24,240 Και αυτό είναι όλο. 245 00:10:24,240 --> 00:10:27,752 Γι 'αυτό είναι καλό, αν και αυτό δεν έχει πραγματικά βυθίστηκε σε μόλις στη μνήμη 246 00:10:27,752 --> 00:10:29,960 αλλά γιατί είναι πραγματικά πνευματικά πληκτικός. 247 00:10:29,960 --> 00:10:31,660 Είναι απλά συντακτικές διαφορές. 248 00:10:31,660 --> 00:10:33,230 Αλλά οι ιδέες είναι ακριβώς το ίδιο. 249 00:10:33,230 --> 00:10:35,910 Μέσα από αυτή τη μεταβλητή παραθέτω σε JavaScript 250 00:10:35,910 --> 00:10:39,020 είναι μια συλλογή από ζεύγη κλειδιού-τιμής, ένα από τα οποία είναι το σύμβολο, ένα εκ των οποίων 251 00:10:39,020 --> 00:10:39,690 είναι η τιμή. 252 00:10:39,690 --> 00:10:42,340 Και μπορώ να πάρω σε αυτές τις αξίες με την ακόλουθη σύνταξη. 253 00:10:42,340 --> 00:10:46,280 Ακριβώς όπως και στην PHP, θα μπορούσα κάνει κάτι ας like-- 254 00:10:46,280 --> 00:10:48,590 Θέλω να κάνω αυτό το παράθυρο λίγο μεγαλύτερο. 255 00:10:48,590 --> 00:10:52,750 Ακριβώς όπως και στην PHP, θα μπορούσα κάνουν this-- Ω, ρε. 256 00:10:52,750 --> 00:10:53,250 Ελα. 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> Ακριβώς όπως και στην PHP-- Εντάξει, θα απλά χρησιμοποιήστε τις σημειώσεις παρουσιαστή. 259 00:11:00,800 --> 00:11:06,010 Ακριβώς όπως και στην PHP, μπορώ κάνει quote ["σύμβολο"] $ $ απόσπασμα, 260 00:11:06,010 --> 00:11:08,860 και αυτό θα μου πάρει Η τιμή του "σύμβολο". 261 00:11:08,860 --> 00:11:12,800 Σε JavaScript, πρόκειται να είναι πανομοιότυπα, οπότε μπορώ να κάνω ακριβώς αυτό. 262 00:11:12,800 --> 00:11:14,850 Το μόνο πράγμα που είναι λείπει είναι το σύμβολο του δολαρίου. 263 00:11:14,850 --> 00:11:17,470 >> Έτσι αρκετά καλά, στη συνέχεια, υπάρχει δεν είναι όλα τόσο πολύ νέα σύνταξη. 264 00:11:17,470 --> 00:11:21,025 Έτσι, αυτό που σήμερα θα επικεντρωθεί στην, πραγματικά, είναι μερικές από τις ιδέες και τις εφαρμογές. 265 00:11:21,025 --> 00:11:22,900 Και η πρώτη τέτοια εφαρμογή που μπορεί να 266 00:11:22,900 --> 00:11:26,090 έχω δει αν βούτηξε το chipset επτά είναι ήδη αυτή η σύνταξη. 267 00:11:26,090 --> 00:11:28,980 Έτσι, σε επτά το chipset, αν έχετε δει ή δεν έχουμε δει ακόμα, 268 00:11:28,980 --> 00:11:33,570 Γνωρίζουμε ότι υπάρχει ένα αρχείο που δίνουμε καλέσατε config.json-- JavaScript 269 00:11:33,570 --> 00:11:34,661 Αντικείμενο σημειογραφία. 270 00:11:34,661 --> 00:11:35,160 Γιατί; 271 00:11:35,160 --> 00:11:39,540 Θέλαμε να είναι σε θέση να σας παρέχουμε ένα πρότυπο με ορισμένα ζεύγη κλειδιού-τιμής. 272 00:11:39,540 --> 00:11:44,290 Θέλαμε να είναι σε θέση να σας δώσει μια λίστα του ξενιστή, το όνομα του διακομιστή. 273 00:11:44,290 --> 00:11:46,710 Θα ήθελα να σας δώσω μια σύμβολο κράτησης θέσης για το όνομα χρήστη σας 274 00:11:46,710 --> 00:11:48,210 και ένα σύμβολο κράτησης θέσης για τον κωδικό πρόσβασής σας. 275 00:11:48,210 --> 00:11:49,410 Εάν δεν βλέπετε αυτό ακόμα, για να μην ανησυχείτε. 276 00:11:49,410 --> 00:11:51,340 Περισσότερα για αυτό το chipset επτά [? spec. ?] Και μετά, 277 00:11:51,340 --> 00:11:53,173 Προφανώς, σας θέλουμε να συμπληρώσετε το να-DOS 278 00:11:53,173 --> 00:11:55,310 γιατί όταν συνδέεστε στο CS50 IDE, καθένας από εσάς 279 00:11:55,310 --> 00:11:57,630 έχετε το δικό σας όνομα χρήστη και τον κωδικό πρόσβασης. 280 00:11:57,630 --> 00:12:00,910 >> Έτσι θα μπορούσαμε να έχουμε χρησιμοποιείται μισή ντουζίνα ή περισσότερες διαφορετικές μορφές αρχείων. 281 00:12:00,910 --> 00:12:02,940 Θα μπορούσε να χρησιμοποιήσει ένα αρχείο .txt. 282 00:12:02,940 --> 00:12:04,570 Θα μπορούσαμε να χρησιμοποιείται ένα αρχείο CSV. 283 00:12:04,570 --> 00:12:06,745 Θα μπορούσαμε να έχουμε χρησιμοποιείται INI αρχείο, ένα αρχείο XML, 284 00:12:06,745 --> 00:12:09,370 ένα σωρό πιο ακρωνύμια ότι μπορεί να μην έχετε ακούσει ποτέ. 285 00:12:09,370 --> 00:12:11,244 Είναι το είδος της αυθαίρετης στο τέλος της μέρας. 286 00:12:11,244 --> 00:12:16,030 Αλλά σούπερ δημοφιλής αυτές τις μέρες είναι ένα κείμενο μορφή που ονομάζεται JSON-- JavaScript Αντικείμενο 287 00:12:16,030 --> 00:12:18,460 Notation-- ότι μοιάζει με αυτό. 288 00:12:18,460 --> 00:12:20,890 Είναι ένα μικρό κρυπτικό, αλλά παρατηρείτε τα μοτίβα. 289 00:12:20,890 --> 00:12:24,180 Μπορείτε να ξεκινήσετε με μια ανοικτή σγουρά τιράντες, και θα καταλήξουμε με την ίδια. 290 00:12:24,180 --> 00:12:26,550 Μέσα από αυτό είναι κάτι. 291 00:12:26,550 --> 00:12:27,920 Είναι ένα ζεύγος κλειδιού-τιμής. 292 00:12:27,920 --> 00:12:30,580 Έτσι, αυτό είναι ένα αντικείμενο που είμαι κοιτάζοντας στην οθόνη εδώ 293 00:12:30,580 --> 00:12:33,690 ότι έχει ένα κλειδί, το οποίο έχει μία αξία. 294 00:12:33,690 --> 00:12:37,610 Και ακριβώς συναχθεί με βάση το προηγούμενο μοντέλο, αυτό είναι το κλειδί εδώ; 295 00:12:37,610 --> 00:12:39,790 Βάση δεδομένων, το πράγμα που πρέπει να το αριστερό του παχέος εντέρου. 296 00:12:39,790 --> 00:12:43,500 >> Τώρα, η τιμή συμβαίνει να είναι a πολλαπλές γραμμές αυτή τη φορά. 297 00:12:43,500 --> 00:12:46,760 Αλλά η τιμή ξεκινά με σγουρά Προετοιμαστείτε και τελειώνει με σγουρά στήριγμα. 298 00:12:46,760 --> 00:12:49,480 Λοιπόν, τι θα προτείνατε είναι η τύπος της αξίας της βάσης δεδομένων; 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 Ένα λεξικό ή, πιο απλά συνοπτικά, ένα αντικείμενο. 301 00:12:54,670 --> 00:12:55,170 Σωστά; 302 00:12:55,170 --> 00:13:00,010 Αυτό είναι το είδος της μια δομή δεδομένων που μπορούν να χρησιμοποιήσουν άλλες δομές μέσα στην ίδια. 303 00:13:00,010 --> 00:13:02,750 Έτσι, αν όλο αυτό το πράγμα είμαστε καλώντας και ένα αντικείμενο και ένα αντικείμενο 304 00:13:02,750 --> 00:13:07,101 είναι απλώς ένα μάτσο κλειδιού-τιμής pairs-- η αξία της ίδιας της βάσης δεδομένων είναι ένα αντικείμενο. 305 00:13:07,101 --> 00:13:10,350 Η αξία της βάσης δεδομένων έχει ένα σωρό βασικών ζευγών αξίας, η πρώτη εκ των οποίων 306 00:13:10,350 --> 00:13:13,130 είναι οικοδεσπότης, στη συνέχεια, το όνομα, στη συνέχεια, το όνομα χρήστη, τον κωδικό πρόσβασης, στη συνέχεια, 307 00:13:13,130 --> 00:13:17,550 καθένας εκ των οποίων οι τιμές, εν τω μεταξύ, είναι απλά μια βαρετή σειρά σε διπλά εισαγωγικά. 308 00:13:17,550 --> 00:13:19,770 >> Έτσι, ακόμη και αν αυτό δεν είναι σούπερ σαφές ακριβώς ακόμα, 309 00:13:19,770 --> 00:13:22,740 Γνωρίζουμε ότι αυτό είναι μόνο ένα πρότυπο, αρκετά βαρετό τρόπο 310 00:13:22,740 --> 00:13:25,190 αποθήκευσης δεδομένων σε τυποποιημένη μορφή. 311 00:13:25,190 --> 00:13:27,700 Αλλά τα κοινά λάθη που θα μπορούσε να κάνει, ακόμα και στις επτά το chipset, 312 00:13:27,700 --> 00:13:32,120 είναι λίγο ηλίθια πράγματα, όπως αν κατά λάθος παραλείψετε το κόμμα εκεί. 313 00:13:32,120 --> 00:13:34,900 Αυτό πρόκειται να οδηγήσει στο αρχείο όχι κατ 'ανάγκη να είναι αναγνώσιμο. 314 00:13:34,900 --> 00:13:38,191 Αν κατά λάθος παραλείψετε τα πράγματα όπως η εισαγωγικά, δεν πρόκειται να είναι αναγνώσιμα. 315 00:13:38,191 --> 00:13:41,654 Έτσι είναι μια αρκετά nitpicky μορφή αρχείου, αλλά είναι αυτός που είναι εξαιρετικά συχνή. 316 00:13:41,654 --> 00:13:44,820 Και τυχαίνει να το χρησιμοποιήσετε, έστω και αν που δεν χρησιμοποιούν καμία JavaScript διαφορετικά, 317 00:13:44,820 --> 00:13:46,330 PSET σε επτά. 318 00:13:46,330 --> 00:13:46,860 >> Εντάξει. 319 00:13:46,860 --> 00:13:48,110 Έτσι θυμηθείτε αυτή την εικόνα. 320 00:13:48,110 --> 00:13:51,657 Μιλήσαμε για, στην HTML, ότι ο κώδικας θα μπορούσε να μοιάζει με αυτό. 321 00:13:51,657 --> 00:13:54,740 Αυτή είναι η HyperText Markup Language [Δεν ακούγεται] για απλά "γειά σου, τον κόσμο." 322 00:13:54,740 --> 00:13:57,570 Στη συνέχεια, όμως προτείναμε ένα ενώ πίσω ότι αν αυτό βοηθάει, 323 00:13:57,570 --> 00:14:00,210 ίσως να θέλετε να αρχίσουμε να σκεφτόμαστε σχετικά με αυτό που ήδη, όπως ένα δέντρο. 324 00:14:00,210 --> 00:14:03,730 Στην πραγματικότητα, η οδόντωση ότι εμείς χρησιμοποιείτε μόνο για το καλό της αναγνωσιμότητας 325 00:14:03,730 --> 00:14:05,610 ή για λόγους ύφους για η αριστερά να το είδος του 326 00:14:05,610 --> 00:14:10,040 να μεταφραστεί σε αυτό το δέντρο, όπου μπορείτε έχετε κάποιο ειδικό κόμβο-ρίζα ότι θα 327 00:14:10,040 --> 00:14:16,860 γενικά ονομάζεται έγγραφο, κάτω από το οποίο είναι το στοιχείο ρίζας ή HTML ετικέτα, HTML, 328 00:14:16,860 --> 00:14:19,980 η οποία στη συνέχεια έχει δύο παιδιά, το κεφάλι και το σώμα. 329 00:14:19,980 --> 00:14:21,750 >> Και στη συνέχεια, με τη σειρά του, το κεφάλι έχει έναν τίτλο. 330 00:14:21,750 --> 00:14:23,440 Και τίτλος έχει μια τιμή κειμένου. 331 00:14:23,440 --> 00:14:26,130 Και το σώμα έχει ομοίως μια τιμή κειμένου. 332 00:14:26,130 --> 00:14:29,220 Έτσι, εάν είστε άνετοι ρητό ότι ναι, θα μπορούσατε να πάρετε αυτό το HTML 333 00:14:29,220 --> 00:14:32,080 και να σχεδιάσετε μια εικόνα σαν αυτό, η δεξιά πλευρά 334 00:14:32,080 --> 00:14:35,910 Είναι ένα ωραίο νοητικού μοντέλου, διότι τώρα ότι έχουμε το JavaScript, ένας προγραμματισμός 335 00:14:35,910 --> 00:14:39,960 γλώσσα που browsers μπορεί να εκτελούν και να ερμηνεύουν για σας, 336 00:14:39,960 --> 00:14:42,690 αποδεικνύεται ότι αυτό που είμαστε έτοιμοι να κάνουμε τον κωδικό 337 00:14:42,690 --> 00:14:45,320 έχει αρχίσει να χειραγωγήσουν αυτό δομή δέντρου στη μνήμη. 338 00:14:45,320 --> 00:14:47,070 Δεν έχουμε να οικοδομήσουμε το δέντρο στη μνήμη. 339 00:14:47,070 --> 00:14:49,880 Δεν έχουμε να κάνουμε είδος δομή δεδομένων PSET-πέντε-style 340 00:14:49,880 --> 00:14:50,650 πολυπλοκότητα. 341 00:14:50,650 --> 00:14:54,610 Το πρόγραμμα περιήγησης, αρκετά όμορφα, κατόπιν ερμηνεία HTML πάνω προς τα κάτω, 342 00:14:54,610 --> 00:14:58,600 αριστερά ή δεξιά, είναι κυριολεκτικά πρόκειται να το χέρι μας το ισοδύναμο ενός δείκτη 343 00:14:58,600 --> 00:15:00,840 για το ολόκληρο το δέντρο για δωρεάν. 344 00:15:00,840 --> 00:15:02,150 Αυτό κάνει όλη τη σκληρή δουλειά. 345 00:15:02,150 --> 00:15:05,520 Αυτό είναι ό, τι Mozilla και η Apple και άλλοι έχουν κάνει για μας. 346 00:15:05,520 --> 00:15:09,400 >> Και με JavaScript θα πάμε να να είναι σε θέση να ελέγχουν και να αλλάξετε και να κάνουμε 347 00:15:09,400 --> 00:15:12,910 ενδιαφέροντα πράγματα να αυτό το δέντρο, αλλιώς γνωστή 348 00:15:12,910 --> 00:15:15,880 ως DOM ή Document Object Model. 349 00:15:15,880 --> 00:15:17,110 Τι είδους πράγματα; 350 00:15:17,110 --> 00:15:19,030 Λοιπόν, αποδεικνύεται ότι σε JavaScript, υπάρχει 351 00:15:19,030 --> 00:15:22,800 Αυτό κατάλογο πλυντηρίων γεγονότα που μπορεί να λάβει χώρα. 352 00:15:22,800 --> 00:15:26,330 Και δεν έχουμε πραγματικά ότι χρησιμοποιήθηκε λέξη από το μηδέν εβδομάδα και το chipset 353 00:15:26,330 --> 00:15:28,240 μηδέν, όταν μιλήσαμε για το μηδέν. 354 00:15:28,240 --> 00:15:31,390 Οι περισσότεροι από εσάς ίσως δεν χρησιμοποιείτε ένα γεγονός στο έργο σας στο Ξυστό. 355 00:15:31,390 --> 00:15:33,850 Αλλά μπορείτε να ανακαλέσετε η απλή Marco Polo 356 00:15:33,850 --> 00:15:36,760 παράδειγμα, όπου είχαμε δύο ξωτικά, ένας από τους οποίους είπε ο Μάρκος. 357 00:15:36,760 --> 00:15:40,180 Το άλλο εκ των οποίων στη συνέχεια, κατόπιν ακρόασης και να ακούει αυτή τη περίπτωση, είπε, Polo. 358 00:15:40,180 --> 00:15:42,080 Αν όχι, μην διστάσετε να κοιτάξουμε πίσω τόσο μακριά πίσω. 359 00:15:42,080 --> 00:15:44,450 >> Αλλά αυτό είναι μόνο για να λένε, και μπορείτε να το είδος του 360 00:15:44,450 --> 00:15:47,730 συνάγουν από τα ονόματα αυτών των πράγματα, JavaScript, αποδεικνύεται, 361 00:15:47,730 --> 00:15:53,200 πρόκειται να μας δώσει έναν τρόπο για να ακούσετε για να πάει κάτω ποντίκι ή ανεβαίνοντας 362 00:15:53,200 --> 00:15:57,920 ή το κλειδί που πηγαίνει κάτω ή το πλήκτρο ανεβαίνει ή onsubmit onselect 363 00:15:57,920 --> 00:15:59,740 ή onresizing κάτι. 364 00:15:59,740 --> 00:16:03,060 Με άλλα λόγια, οποιαδήποτε φυσική δράση ότι ένας άνθρωπος μπορεί να πάρει με ένα πρόγραμμα περιήγησης 365 00:16:03,060 --> 00:16:08,210 ότι κάνεις κάθε μέρα, μπορείτε να γράψετε κωδικό για να ακούει για αυτές τις εκδηλώσεις 366 00:16:08,210 --> 00:16:10,220 και στη συνέχεια να κάνει κάτι κατάλληλο. 367 00:16:10,220 --> 00:16:14,130 >> Για παράδειγμα, εάν χρησιμοποιείτε το Google Maps, τι θα συμβεί αν κάνετε κλικ και κίνηση 368 00:16:14,130 --> 00:16:16,250 το ποντίκι, συνήθως; 369 00:16:16,250 --> 00:16:17,758 Εάν κάνετε κλικ και να σύρετε; 370 00:16:17,758 --> 00:16:18,258 Ναι; 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 Ακριβώς. 373 00:16:22,200 --> 00:16:23,159 Ο χάρτης αρχίζει να κινείται. 374 00:16:23,159 --> 00:16:25,616 Έτσι, μπορείτε να ταξινομήσετε του να δούμε τι είναι εδώ, ό, τι είναι εκεί πέρα. 375 00:16:25,616 --> 00:16:27,130 Και πώς το Google να εφαρμόσουν αυτό; 376 00:16:27,130 --> 00:16:29,421 Λοιπόν, προφανώς, είναι χρησιμοποιώντας ένα ζευγάρι από αυτά τα event 377 00:16:29,421 --> 00:16:31,720 ακροατές, μια που λέει, να ακούσετε στο ποντίκι 378 00:16:31,720 --> 00:16:35,410 down-- έτσι ώστε όταν ο χρήστης σωματικά ωθεί trackpad του ή του ποντικιού ή της 379 00:16:35,410 --> 00:16:36,010 προς τα κάτω. 380 00:16:36,010 --> 00:16:38,350 Και τότε ψάχνουμε κάτι σαν κίνημα 381 00:16:38,350 --> 00:16:41,145 ή κάποιο άλλο γεγονός ότι μας επιτρέπει να συλλάβει οπισθέλκουσας. 382 00:16:41,145 --> 00:16:45,910 Και στην πραγματικότητα, drag είναι παρόμοια σε αυτό dot dot dot λίστα των πιθανών επιλογών. 383 00:16:45,910 --> 00:16:49,140 >> Έτσι, αυτό πρόκειται να είναι ένα ισχυρό τρόπος για να ξεκινήσει να ανταποκρίνεται προς τον χρήστη 384 00:16:49,140 --> 00:16:52,824 ακόμα και πριν αυτός ή αυτή κάνει κλικ κάτι σαν υποβάλει ρητή. 385 00:16:52,824 --> 00:16:55,240 Αλλά θα πάμε να εισαγάγει ένα ζευγάρι θέματα για να φτάσει εκεί. 386 00:16:55,240 --> 00:16:58,570 Αλλά πρώτα, ας μετάβαση σε κάποιο πραγματικό κώδικα. 387 00:16:58,570 --> 00:17:01,450 Έτσι, Πάω να πάει μπροστά και να ανοίξει dom-0, 388 00:17:01,450 --> 00:17:05,869 το οποίο είναι ένα πολύ απλό παράδειγμα εδώ ότι αν απλά μεγέθυνση 389 00:17:05,869 --> 00:17:08,500 έχει αυτή την είσοδο εδώ για μένα. 390 00:17:08,500 --> 00:17:12,410 Και Πάω να πάει μπροστά και πληκτρολογήστε «Δαβίδ» για το όνομά μου και κάντε κλικ στην επιλογή Υποβολή. 391 00:17:12,410 --> 00:17:17,940 >> Και τότε, αν και το είδος της φτηνά, έχω έχουν αυτό το μήνυμα που σκάει επάνω που λέει, 392 00:17:17,940 --> 00:17:19,244 "Γεια σας, David!" 393 00:17:19,244 --> 00:17:21,740 Έτσι, αυτό είναι το είδος του όπως μας "Γεια σου, κόσμε" 394 00:17:21,740 --> 00:17:25,150 ότι κάναμε λίγο πίσω σε C και ακόμη και σε PHP επειδή έχω δυναμικά 395 00:17:25,150 --> 00:17:26,310 εξάγεται το όνομά μου. 396 00:17:26,310 --> 00:17:28,230 Μπορώ να κάνω το όνομα κάποιου άλλου εδώ. 397 00:17:28,230 --> 00:17:31,240 Θα μπορούσα απλά να αλλάξει αυτό, όπως, Hannah, κάντε κλικ στην επιλογή Υποβολή. 398 00:17:31,240 --> 00:17:33,780 Και πράγματι, τα μικρά pop-up αλλαγές. 399 00:17:33,780 --> 00:17:36,650 >> Τώρα, pop-ups είναι ένα από τα πιο κακοποιημένα χαρακτηριστικά του ιστού. 400 00:17:36,650 --> 00:17:38,520 Και στην πραγματικότητα, πίσω στο τα pop-up blockers ημέρα 401 00:17:38,520 --> 00:17:40,820 τέθηκε σε μόδα, γιατί θα πήγαινε σε κάποιο website-- 402 00:17:40,820 --> 00:17:43,604 ίσως μια αμφισβητήσιμη place-- ότι θα ήταν τότε ξαφνικά 403 00:17:43,604 --> 00:17:46,020 ξεκινήστε peppering οθόνη σας με ένα σωρό από τα pop-ups. 404 00:17:46,020 --> 00:17:49,700 Και έτσι αυτή η ικανότητα να αναδυθεί παράθυρα μπροστά του χρήστη 405 00:17:49,700 --> 00:17:52,372 δεν ήταν ιδιαίτερα καλά-που ελήφθη από την ανθρωπότητα. 406 00:17:52,372 --> 00:17:54,080 Έτσι, γι 'αυτό που βλέπετε Αυτό εμποδίζει το πράγμα, 407 00:17:54,080 --> 00:17:55,706 το οποίο ακριβώς κάνει όλο αυτό το πράγμα άσχημο. 408 00:17:55,706 --> 00:17:57,996 Έτσι θα πάμε να χρειάζονται καλύτερος τρόπος για να ζητήσει από το χρήστη. 409 00:17:57,996 --> 00:17:59,350 Αλλά για τώρα, αυτό φαίνεται να λειτουργεί. 410 00:17:59,350 --> 00:18:03,320 Έτσι απλά διαισθητικά, τι φαίνεται να συμβαίνει εδώ; 411 00:18:03,320 --> 00:18:07,870 Έχω προχωρήσει και κάντε κλικ στο κουμπί Υποβολή, και τότε κάτι συμβαίνει, προφανώς. 412 00:18:07,870 --> 00:18:12,870 Αλλά αυτό δεν συμβαίνει ότι συνέβη την περασμένη εβδομάδα, κάθε φορά που κάνετε κλικ Υποβολή; 413 00:18:12,870 --> 00:18:15,940 Τι δεν συνέβη στην οθόνη; 414 00:18:15,940 --> 00:18:17,170 Συγνώμη; 415 00:18:17,170 --> 00:18:18,010 Ανανέωση της. 416 00:18:18,010 --> 00:18:19,720 Η διεύθυνση URL δεν άλλαξε καθόλου. 417 00:18:19,720 --> 00:18:22,250 Το είπα αυτό ήταν dom-0, και είμαι ακόμα στο Dom-0. 418 00:18:22,250 --> 00:18:26,890 Κανονικά, θα ήθελα να αλλάξει σε κάποιο άλλο URL, όπως register.php ή τα παρόμοια. 419 00:18:26,890 --> 00:18:29,560 >> Αλλά ακόμα και όταν έχω απορρίψει αυτό το πράγμα με κλικ στο OK, 420 00:18:29,560 --> 00:18:32,310 Παρατηρήστε ότι η διεύθυνση URL μένει θέσει εντελώς. 421 00:18:32,310 --> 00:18:35,350 Και, στην πραγματικότητα, αν είμαι λίγο δύσπιστος, επιτρέψτε μου να ανοίξει Chrome. 422 00:18:35,350 --> 00:18:36,860 Επιτρέψτε μου να ανοίξει την καρτέλα Δίκτυο. 423 00:18:36,860 --> 00:18:38,360 Και παρατηρήσετε ότι είναι κενές αυτή τη στιγμή. 424 00:18:38,360 --> 00:18:40,700 Επιτρέψτε μου να προχωρήσει και να υποβάλει εκ νέου την Μαρία. 425 00:18:40,700 --> 00:18:42,810 Δεν υπάρχει καμία απολύτως κίνηση στο δίκτυο. 426 00:18:42,810 --> 00:18:44,320 Έτσι δεν υπάρχει καμία HTTP. 427 00:18:44,320 --> 00:18:47,620 >> Έτσι, πράγματι, αν κοιτάξουμε τον πηγαίο κώδικα για this-- επιτρέψτε μου να κλείσετε αυτό το παράθυρο 428 00:18:47,620 --> 00:18:49,480 και πηγαίνετε στο View Source. 429 00:18:49,480 --> 00:18:50,400 Ενδιαφέρουσες. 430 00:18:50,400 --> 00:18:53,520 Μοιάζει υπάρχει κάποια νέες ετικέτες, μεταξύ των οποίων και το σενάριο. 431 00:18:53,520 --> 00:18:57,490 Έτσι, ας ρίξουμε μια ματιά στο εσωτερικό CS50 IDE ακριβώς αυτό που αποστέλλεται στο χρήστη. 432 00:18:57,490 --> 00:19:00,690 >> Έτσι, εδώ is-- ας επικεντρωθεί μόνο στην HTML. 433 00:19:00,690 --> 00:19:03,500 Εδώ είναι το κάτω μισό του dom-0.html. 434 00:19:03,500 --> 00:19:07,830 Και παρατηρήσετε ότι πήρε έναν τίτλο, μια ετικέτα κεφάλι, μια ετικέτα σώμα, μια ετικέτα μορφή. 435 00:19:07,830 --> 00:19:11,257 Αλλά τι πηδά έξω σε σας ως διαφορετικά, ειδικά αν έχετε ποτέ 436 00:19:11,257 --> 00:19:12,590 γραπτή οποιαδήποτε JavaScript στον εαυτό σας. 437 00:19:12,590 --> 00:19:14,920 Επιτρέψτε μου να μετακινηθείτε λίγο προς τα δεξιά εδώ. 438 00:19:14,920 --> 00:19:18,330 Έχω μια είσοδο, άλλη μία εισροή για την υποβολή. 439 00:19:18,330 --> 00:19:21,410 Έχω ένα αναγνωριστικό, το οποίο είναι το είδος των νέων. 440 00:19:21,410 --> 00:19:22,790 Αλλά δεν είχαμε δει αυτό με CSS. 441 00:19:22,790 --> 00:19:24,480 Τι άλλο είναι σίγουρα καινούργιο; 442 00:19:24,480 --> 00:19:24,980 Ναι; 443 00:19:24,980 --> 00:19:30,580 444 00:19:30,580 --> 00:19:32,140 Νίκαιας. 445 00:19:32,140 --> 00:19:32,760 >> Εντάξει. 446 00:19:32,760 --> 00:19:35,630 Έτσι, εκεί που λέει onsubmit, παρατηρήστε τι φαίνεται να ακολουθεί. 447 00:19:35,630 --> 00:19:38,740 Αυτό είναι ένα χαρακτηριστικό στην ονοματολογία HTML. 448 00:19:38,740 --> 00:19:40,944 Η αξία της είναι αυτή η συμβολοσειρά εδώ. 449 00:19:40,944 --> 00:19:42,860 Και αυτό φαίνεται λίγο παράξενο με την πρώτη ματιά. 450 00:19:42,860 --> 00:19:44,050 Δεν είναι HTML. 451 00:19:44,050 --> 00:19:45,240 Δεν είναι CSS. 452 00:19:45,240 --> 00:19:47,580 Αυτό είναι, όπως μπορείτε να μαντέψετε, το JavaScript. 453 00:19:47,580 --> 00:19:51,850 Φαίνεται, λοιπόν, ότι αυτή η ενσωματωμένη Η ιστοσελίδα είναι μια λειτουργία που ονομάζεται χαιρετήσει. 454 00:19:51,850 --> 00:19:54,250 Και είμαι συμπεραίνοντας ότι ακριβώς γιατί είναι μια λέξη, χαιρετήσει. 455 00:19:54,250 --> 00:19:55,880 Είναι πήρε μια ανοιχτή παρένθεσης, κλείσιμο παρένθεσης, ερωτηματικό. 456 00:19:55,880 --> 00:19:58,095 Μοιάζει με μια συνάρτηση C, μοιάζει με ένα PHP λειτουργία. 457 00:19:58,095 --> 00:20:00,370 >> Και πράγματι, πρόκειται για είναι μια λειτουργία JavaScript. 458 00:20:00,370 --> 00:20:01,440 Τότε είμαι επιστρέφουν ψευδή. 459 00:20:01,440 --> 00:20:03,440 Θα επανέλθουμε για να ότι ακριβώς σε μια στιγμή. 460 00:20:03,440 --> 00:20:05,320 Αλλά πού ορίζεται αυτή η λειτουργία; 461 00:20:05,320 --> 00:20:07,950 Και επιτρέψτε μου να μετακινηθείτε προς τα επάνω στην κορυφή του αρχείου. 462 00:20:07,950 --> 00:20:11,710 Και ακόμα κι αν είναι μια μακρά σειρά, είναι σχετικά απλή. 463 00:20:11,710 --> 00:20:15,000 Επιτρέψτε μου σμίκρυνση εδώ και επικεντρωθεί σε αυτές τις τέσσερις γραμμές. 464 00:20:15,000 --> 00:20:17,137 >> Έτσι σε JavaScript, απλά όπως PHP, απλά 465 00:20:17,137 --> 00:20:19,720 ας πούμε, στην κυριολεξία, η λέξη «λειτουργία», το όνομα της συνάρτησης, 466 00:20:19,720 --> 00:20:22,700 και στη συνέχεια παρενθέσεις με οποιαδήποτε arguments-- κανένα επιχείρημα σε αυτή την περίπτωση. 467 00:20:22,700 --> 00:20:25,290 Και δεν υπάρχει κανένας τύπος επιστροφής σε JavaScript, ακριβώς όπως PHP. 468 00:20:25,290 --> 00:20:29,470 Έτσι είναι πιο χαλαρή λίγο από το C. Ανοίξτε σγουρά στήριγμα, κοντά σγουρά στήριγμα. 469 00:20:29,470 --> 00:20:33,270 Χτισμένο σε JavaScript είναι μια function-- Δεν συνιστάται η function-- 470 00:20:33,270 --> 00:20:35,730 αλλά μια λειτουργία που ονομάζεται ειδοποίησης των οποίων μοναδικός σκοπός στη ζωή 471 00:20:35,730 --> 00:20:38,620 είναι να σηκώσει αυτό το πολύ άσχημο προτρέψει που είδαμε πριν από λίγο. 472 00:20:38,620 --> 00:20:40,950 >> Τώρα αυτό είναι το είδος της μια μπουκιά. 473 00:20:40,950 --> 00:20:42,560 Τι συμβαίνει εδώ? 474 00:20:42,560 --> 00:20:45,840 Ας αρχίσουμε λοιπόν να επισημάνετε τα πάντα εδώ. 475 00:20:45,840 --> 00:20:48,540 Αυτό είναι το ίδιο επιχείρημα για να προειδοποιήσει. 476 00:20:48,540 --> 00:20:49,530 Και τι συμβαίνει; 477 00:20:49,530 --> 00:20:51,200 Αυτό μοιάζει με ένα κορδόνι. 478 00:20:51,200 --> 00:20:59,180 Και αποδεικνύεται, σε αντίθεση με PHP και αντίθετα C, δεν έχει σημασία σε JavaScript 479 00:20:59,180 --> 00:21:01,090 αν μονά εισαγωγικά ή διπλά εισαγωγικά. 480 00:21:01,090 --> 00:21:02,060 Θα είναι ισοδύναμες. 481 00:21:02,060 --> 00:21:03,769 Και ειλικρινά, είναι ακριβώς δημοφιλής αυτές τις μέρες 482 00:21:03,769 --> 00:21:06,726 για JavaScript προγραμματιστές να είναι πάντα Χρησιμοποιήστε μονά εισαγωγικά για κάποιο λόγο. 483 00:21:06,726 --> 00:21:07,840 Είναι ακριβώς το πράγμα που πρέπει να κάνουμε. 484 00:21:07,840 --> 00:21:09,710 Αλλά θα μπορούσαμε να χρησιμοποιήσουμε διπλά εισαγωγικά, όπως καλά. 485 00:21:09,710 --> 00:21:11,540 >> Έτσι, καθώς είναι ένα νέο χαρακτήρα. 486 00:21:11,540 --> 00:21:14,512 Αλλά όσοι από εσάς έχετε κάνει πριν από αυτό, τι σημαίνει συν; 487 00:21:14,512 --> 00:21:16,440 Ναι. 488 00:21:16,440 --> 00:21:17,120 Ενώσετε. 489 00:21:17,120 --> 00:21:18,570 Έτσι είδαμε αυτό στην PHP. 490 00:21:18,570 --> 00:21:20,315 Υπάρχει μόνο η τελεία χειριστή σε PHP που 491 00:21:20,315 --> 00:21:22,000 θα ενώσετε δύο συμβολοσειρές. 492 00:21:22,000 --> 00:21:24,000 C ήταν ένας πόνος στο λαιμό για να γίνει αυτό. 493 00:21:24,000 --> 00:21:27,310 Ανάκληση από το chipset έξι, που ήταν Ένα ιδιαίτερο πόνος στο λαιμό, 494 00:21:27,310 --> 00:21:29,470 θα πρέπει να χρησιμοποιήσετε κάτι σαν strcat 495 00:21:29,470 --> 00:21:31,660 μετά την κατανομή της μνήμης στη στοίβα ή του σωρού. 496 00:21:31,660 --> 00:21:34,243 Θα έπρεπε να πηδούν μέσα από στεφάνες ακριβώς για να ενώσετε δύο strings. 497 00:21:34,243 --> 00:21:36,040 Σε JavaScript, είναι εξαιρετικά απλή. 498 00:21:36,040 --> 00:21:38,030 Απλά χρησιμοποιήστε το χειριστή καθώς και μεταξύ τους. 499 00:21:38,030 --> 00:21:41,420 >> Έτσι, το συγκρότημα εμφάνιση πράγμα φαίνεται να είναι αυτό 500 00:21:41,420 --> 00:21:43,490 επειδή κατά το τέλος της όλο αυτό το string, θα ήθελα απλώς 501 00:21:43,490 --> 00:21:45,797 ενώσετε σε ένα θαυμαστικό. 502 00:21:45,797 --> 00:21:48,380 Έτσι, αν αυτό που ξεφυτρώνουν ήταν "Γεια σας, Ντέιβιντ», «γειά σου, Hannah," 503 00:21:48,380 --> 00:21:52,740 "Γεια σας, Μαρία," και ούτω καθεξής, με σαφήνεια ότι το πράγμα μέση μεταξύ των δύο 504 00:21:52,740 --> 00:21:55,215 συν πρέπει να μου δώσει πρόσβαση σε ό, τι; 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 Τι είναι εκεί για σίγουρος; 507 00:22:01,991 --> 00:22:02,490 Ναι. 508 00:22:02,490 --> 00:22:05,090 Γι 'αυτό θα προσποιείται ότι εδώ η απαντήσει το όνομά τους, έτσι δεν είναι; 509 00:22:05,090 --> 00:22:10,380 Έτσι το όνομά τους έσκασε επάνω στον τελικό αποτέλεσμα. Λοιπόν, τι σημαίνει αυτό; 510 00:22:10,380 --> 00:22:15,080 Λοιπόν, πρότεινα νωρίτερα από το γεγονός ότι εικόνα που η λεγόμενη DOM 511 00:22:15,080 --> 00:22:18,580 έχει αυτό το ιδιαίτερο στοιχείο ρίζας τρόπο επάνω στην κορυφή που ονομάζεται έγγραφο. 512 00:22:18,580 --> 00:22:21,660 Και τώρα, αποδεικνύεται, ότι πρόκειται να είναι μια ειδική global μεταβλητή 513 00:22:21,660 --> 00:22:25,250 σε JavaScript, ενσωματωμένο μέσα στην οποία ένα σωρό από χρήσιμες λειτουργίες. 514 00:22:25,250 --> 00:22:31,770 Μεταξύ των χρήσιμων λειτουργικότητα είναι η ικανότητα να πάρει σε κάθε κόμβο απόγονο. 515 00:22:31,770 --> 00:22:37,760 Αυτά τα τετράγωνα ή παραλληλόγραμμα ή ελλείψεις είναι μόνο οι κόμβοι σε ένα δέντρο, να το πω έτσι. 516 00:22:37,760 --> 00:22:41,850 >> Έτσι αποδεικνύεται ότι η ενσωματωμένη Αντικειμένου εγγράφου της Javascript 517 00:22:41,850 --> 00:22:47,300 είναι μια λειτουργία, αλλιώς γνωστή ως μέθοδος, που ονομάζεται getElementById. 518 00:22:47,300 --> 00:22:50,410 Η σύνταξη για την κλήση μια λειτουργία JavaScript 519 00:22:50,410 --> 00:22:55,220 ότι είναι μέσα από ένα αντικείμενο ή ένα μεταβλητή είναι ακριβώς με τον συμβολισμό με την τελεία. 520 00:22:55,220 --> 00:22:57,950 Και είδαμε αυτό σε C ποια είναι η σύνταξη struct. 521 00:22:57,950 --> 00:23:03,530 Μπορείτε να δείτε αυτό το chipset επτά, το είδος, είδος, όταν βλέπεις CS50 :: ερώτημα. 522 00:23:03,530 --> 00:23:08,070 Η άνω και κάτω τελεία άνω και κάτω τελεία στην PHP είναι μια άλλη τρόπος καλώντας μια λειτουργία που είναι 523 00:23:08,070 --> 00:23:09,260 στο εσωτερικό του κάποιο αντικείμενο. 524 00:23:09,260 --> 00:23:11,960 >> Αλλά για τώρα JavaScript, είναι απλά μια κουκίδα. 525 00:23:11,960 --> 00:23:14,170 Και έτσι αυτή η λειτουργία, αρκετά ωραία, το είδος του 526 00:23:14,170 --> 00:23:16,810 λέει ό, τι does-- πάρει στοιχείο με ID. 527 00:23:16,810 --> 00:23:20,280 Ένα στοιχείο είναι ακριβώς ένα άλλο όνομα για μια ετικέτα ή κόμβο στο DOM. 528 00:23:20,280 --> 00:23:26,900 Και έτσι ώστε να πάρετε το στοιχείο με ID "όνομα" σημαίνει this-- εδώ είναι HTML μου. 529 00:23:26,900 --> 00:23:31,910 Και που βασίζονται στο παρόν HTML, τι κόμβου ή ποια ετικέτα HTML είμαι 530 00:23:31,910 --> 00:23:35,097 Θα προγραμματισμού να παραδοθεί καλώντας document.getElementById; 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> Ναι, ακριβώς. 533 00:23:38,500 --> 00:23:42,670 Πάω να πάρει την είσοδο στοιχείο του οποίου η ταυτότητα δεν είναι "όνομα". 534 00:23:42,670 --> 00:23:45,140 Έτσι, συγκεκριμένα, μπορείτε να σκέφτομαι αυτή τη λειτουργία, 535 00:23:45,140 --> 00:23:49,560 getElementById, ως ένας τρόπος για να δώσει υποστηρίξει ένα δείκτη στο συγκεκριμένο κόμβο 536 00:23:49,560 --> 00:23:50,060 στο δέντρο. 537 00:23:50,060 --> 00:23:51,980 Δεν έχουμε καταλήξει αυτό δέντρο, αλλά είναι ένας τρόπος 538 00:23:51,980 --> 00:23:54,900 να πάρει την πρόσβαση σε αυτό ορθογώνιο ή το ορθογώνιο 539 00:23:54,900 --> 00:23:58,090 με μοναδικό τρόπο τις οποίες θα προσδιορίζονται μέσω της ταυτότητας του. 540 00:23:58,090 --> 00:23:59,760 >> Τώρα, γιατί είναι αυτό χρήσιμο; 541 00:23:59,760 --> 00:24:01,510 Λοιπόν, αποδεικνύεται ότι από τη στιγμή που έχετε πάρει 542 00:24:01,510 --> 00:24:07,220 ότι κόμβο, το ορθογώνιο αυτό από το εικόνα, ότι ο κόμβος στο εσωτερικό του, 543 00:24:07,220 --> 00:24:10,660 με τη σειρά του, έχει ένα σωρό properties-- ζευγάρια κλειδί-τιμή 544 00:24:10,660 --> 00:24:13,480 ή δεδομένων, μία από τις οποίες λέγεται αξία. 545 00:24:13,480 --> 00:24:16,500 Έτσι κυριολεκτικά, είναι το είδος της μια μπουκιά για να εξηγήσει το όλο θέμα. 546 00:24:16,500 --> 00:24:19,370 Αλλά στο τέλος της ημέρας, όλα αυτά που κάνει είναι να σας δώσει 547 00:24:19,370 --> 00:24:23,070 μια σειρά που ο χρήστης πληκτρολογήσει σε αυτό το ιεραρχικό τρόπο. 548 00:24:23,070 --> 00:24:24,820 Αλλά δεν μου αρέσει ένα ζευγάρι από αυτά τα πράγματα. 549 00:24:24,820 --> 00:24:27,590 Ή μάλλον, δεν υπάρχει κάποια περιέργεια ακόμα. 550 00:24:27,590 --> 00:24:28,870 Όλα αυτά φάνηκε να λειτουργεί. 551 00:24:28,870 --> 00:24:33,420 Γιατί νομίζεις ότι επέστρεψε ψευδείς μετά την κλήση χαιρετήσει; 552 00:24:33,420 --> 00:24:35,910 Αυτό φαίνεται λίγο άσχημο, ότι Έχω δύο καταστάσεις εκεί 553 00:24:35,910 --> 00:24:38,730 διαχωρίζονται με ερωτηματικά. 554 00:24:38,730 --> 00:24:39,310 Μάντεψε. 555 00:24:39,310 --> 00:24:44,390 Αν έχω απομακρυνθεί return false, τι μπορεί να συμβεί, μόλις ενστικτωδώς; 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 Λυπούμαστε, λένε πάλι; 558 00:24:49,460 --> 00:24:50,530 >> Ανοίξτε μια δέσμη των Windows. 559 00:24:50,530 --> 00:24:52,780 Έτσι, ίσως κάτι δυνητικά όπως αυτό θα μπορούσε να συμβεί. 560 00:24:52,780 --> 00:24:54,422 Τι άλλο? 561 00:24:54,422 --> 00:24:55,630 Μπορεί να υποβάλει αίτηση πού; 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 Στην ίδια σελίδα. 564 00:25:00,510 --> 00:25:03,110 Έτσι, στην πραγματικότητα, αυτό είναι ότι η στενότερη απαντήσει εδώ, 565 00:25:03,110 --> 00:25:05,890 ακόμη και αν, σε αντίθεση με στο παρελθόν, δεν έχω 566 00:25:05,890 --> 00:25:09,300 προσδιορίζεται το χαρακτηριστικό δράση, τα οποία κανονικά πρέπει να κάνουμε. 567 00:25:09,300 --> 00:25:11,780 Βγάζει υπάρχει μια προεπιλογή. Αν δεν ορίσετε δράσης, 568 00:25:11,780 --> 00:25:15,370 Είναι σαν να λέμε απόσπασμα, unquote ή το όνομα του ίδιου του αρχείου, 569 00:25:15,370 --> 00:25:17,850 το οποίο στην περίπτωση αυτή θα είναι σαν dom-0.html. 570 00:25:17,850 --> 00:25:20,420 Είναι ακριβώς το είδος της συνάγεται, ή μάλλον υπονοείται. 571 00:25:20,420 --> 00:25:22,420 >> Και έτσι αν δεν το κάνουμε αυτό, ας προσέξει. 572 00:25:22,420 --> 00:25:23,230 Επιτρέψτε μου να σώσει αυτό. 573 00:25:23,230 --> 00:25:25,270 Και έχω απομακρυνθεί επιστροφή ψευδείς. 574 00:25:25,270 --> 00:25:27,759 Επιτρέψτε μου να πάω πίσω σε αυτό παράδειγμα και να την αναγκάσει να φορτώσετε εκ νέου. 575 00:25:27,759 --> 00:25:30,800 Και μπορεί να έχετε δει μου να προτείνω αυτό σε CS50 Συζητήστε ένα σωρό φορές. 576 00:25:30,800 --> 00:25:34,560 Αν μη τι άλλο είναι ποτέ ενεργεί funky και η πρόγραμμα περιήγησης δεν συμπεριφέρεται όπως θα περίμενε κανείς, 577 00:25:34,560 --> 00:25:37,410 πολλές φορές θα θέλετε να κρατήσετε Shift και κάντε κλικ στο Ανανέωση. 578 00:25:37,410 --> 00:25:41,480 Αυτό θα αναγκάσει κάθε αρχείο για να φορτώσετε και να μην χρησιμοποιούν την τοπική μνήμη cache του προγράμματος περιήγησης 579 00:25:41,480 --> 00:25:47,032 ή αντίγραφο έτσι ώστε τώρα, επιτρέψτε μου να προχωρήσει και ανοίξει Επιθεωρητής μου, στην καρτέλα Δίκτυο. 580 00:25:47,032 --> 00:25:48,740 Πάω να κάνετε κλικ Διατηρήστε Σύνδεση γιατί 581 00:25:48,740 --> 00:25:51,660 Δεν θέλω να διαγράψετε τις γραμμές Μόλις πάρω ελαφρά μακριά αλλού. 582 00:25:51,660 --> 00:25:54,650 >> Επιτρέψτε μου να προχωρήσει εδώ και πληκτρολογήστε Andi, κάντε κλικ στην επιλογή Υποβολή. 583 00:25:54,650 --> 00:25:55,150 Εντάξει. 584 00:25:55,150 --> 00:25:56,480 Αυτό φαίνεται όπως αναμενόταν. 585 00:25:56,480 --> 00:25:57,440 Λέει «γειά σου, Άντι." 586 00:25:57,440 --> 00:25:59,420 Επιτρέψτε μου να κάντε κλικ στο OK. 587 00:25:59,420 --> 00:26:00,610 Ενδιαφέρουσες. 588 00:26:00,610 --> 00:26:05,100 Παρατηρήστε ότι η σελίδα άλλαξε, αν και στην αρχική σελίδα. 589 00:26:05,100 --> 00:26:06,770 Ανακοίνωση για το είδος της μεταβολής των URL. 590 00:26:06,770 --> 00:26:09,430 Πρόσθεσε ένα ερωτηματικό, το οποίο είναι συνήθως ένας δείκτης 591 00:26:09,430 --> 00:26:11,260 ότι προσπαθήσαμε να υποβάλει κάτι. 592 00:26:11,260 --> 00:26:13,570 Και στη συνέχεια στο κάτω μέρος, γίνεται ακόμη πιο σαφής, 593 00:26:13,570 --> 00:26:17,570 εδώ είναι το πραγματικό αίτημα HTTP, η οποία πήρε μια απάντηση 200, ότι 594 00:26:17,570 --> 00:26:18,490 με έφερε πίσω εδώ. 595 00:26:18,490 --> 00:26:20,250 >> Έτσι, αυτό δεν είναι ό, τι θέλουμε να κάνουμε, σωστά; 596 00:26:20,250 --> 00:26:22,166 Επειδή δεν θέλω να reload ολόκληρη τη σελίδα. 597 00:26:22,166 --> 00:26:24,970 Θα αντί ήθελε να επιστρέψει ψευδής έτσι ώστε να βραχυκύκλωμα 598 00:26:24,970 --> 00:26:28,840 προεπιλεγμένη συμπεριφορά του προγράμματος περιήγησης, η οποία Ήταν, βέβαια, να υποβάλουν τη σελίδα. 599 00:26:28,840 --> 00:26:31,700 >> Έτσι, ας ρίξουμε μια ματιά σε ένα οριακά καλύτερο παράδειγμα. 600 00:26:31,700 --> 00:26:33,920 Αυτό είναι ένα dom έκδοση. 601 00:26:33,920 --> 00:26:36,680 Και παρατηρήστε τα εξής. 602 00:26:36,680 --> 00:26:39,150 Είναι εντάξει, αν δεν κατανοήσω όλες τις γραμμές κώδικα. 603 00:26:39,150 --> 00:26:41,750 Αλλά τι είναι θεμελιωδώς διαφορετική σχετικά με την εφαρμογή αυτή; 604 00:26:41,750 --> 00:26:44,690 Θα προβλέπουν συμπεριφέρεται η ίδια, κάνει το ίδιο πράγμα. 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 Τι έχω κάνει προφανώς με διαφορετικό τρόπο; 607 00:26:51,570 --> 00:26:52,266 Ναι; 608 00:26:52,266 --> 00:26:53,182 >> Κοινό: [δεν ακούγεται]. 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVID Malan: Ναι. 611 00:27:04,170 --> 00:27:08,620 Έτσι, η συνάρτηση ορίζεται differently-- Με άλλα λόγια, απουσιάζει από τη μορφή, 612 00:27:08,620 --> 00:27:13,180 εκεί στη γραμμή 7-- ή μάλλον, η γραμμή δεν είναι πλέον 8-- 613 00:27:13,180 --> 00:27:15,070 έχω την onsubmit χαρακτηριστικό. 614 00:27:15,070 --> 00:27:16,750 Στο προηγούμενο παράδειγμα, είχα αυτό. 615 00:27:16,750 --> 00:27:18,530 Και μετά έγραψα κυριολεκτικά τον κωδικό μου εδώ. 616 00:27:18,530 --> 00:27:20,210 Και τότε είπα επιστρέφει false. 617 00:27:20,210 --> 00:27:22,180 Και αν δεν τρίψετε Είσαι ο λάθος τρόπος ακόμα, 618 00:27:22,180 --> 00:27:26,140 θα πρέπει να αρχίσει να μέτρο καθώς, όπως ακριβώς και στην HTML, 619 00:27:26,140 --> 00:27:29,530 όταν αρχίσαμε να το συν-σμίξει με CSS στα χαρακτηριστικά στυλ, 620 00:27:29,530 --> 00:27:32,890 ακριβώς άρχισε να πάρετε μια μικρή βρώμικο ή να αισθανθείτε ένα μικρό λάθος. 621 00:27:32,890 --> 00:27:35,020 >> Ομοίως εδώ, αν αρχίσετε να παίρνετε HTML, 622 00:27:35,020 --> 00:27:37,419 και, στη συνέχεια, μπορείτε αυτόματα γδούπο λίγο κώδικα JavaScript 623 00:27:37,419 --> 00:27:40,460 στη μέση μιας εισηγμένης χορδών, είναι δεν πρόκειται να είναι πολύ διατηρήσιμη. 624 00:27:40,460 --> 00:27:40,630 Σωστά; 625 00:27:40,630 --> 00:27:43,690 Δεν είναι ακόμη εμφανής με την πρώτη Τόπος όπου ο κώδικας JavaScript είναι. 626 00:27:43,690 --> 00:27:46,590 Έτσι, θα ήταν πολύ ωραίο, όπως η αρχή του καλύτερου σχεδιασμού, 627 00:27:46,590 --> 00:27:50,500 ας κρατήσει εντελώς HTML μας χωριστά από JavaScript μας. 628 00:27:50,500 --> 00:27:53,150 >> Έτσι για να το κάνουμε αυτό, ό, τι έχουμε γίνεται εδώ είναι η following-- 629 00:27:53,150 --> 00:27:56,790 μπορούμε απλά να χρησιμοποιήσετε HTML μόνο για τη σήμανση. 630 00:27:56,790 --> 00:28:00,730 Και έτσι στην έκδοση ενός από αυτά, όλα Έχω μια φόρμα με ένα μοναδικό αναγνωριστικό. 631 00:28:00,730 --> 00:28:04,630 Και στη συνέχεια κάτω από εδώ, είμαι εκμεταλλευόμενοι της ειδικής λειτουργία του JavaScript 632 00:28:04,630 --> 00:28:08,480 σύμφωνα με την οποία μπορώ να έχω ό, τι είναι που ονομάζεται μια ανώνυμη λειτουργία. 633 00:28:08,480 --> 00:28:14,150 Έτσι αποδεικνύεται ότι, αν καλώ document.getElementById της «επίδειξης» 634 00:28:14,150 --> 00:28:18,890 αυτό είναι σαν να μου δίνετε ένα δείκτη Αυτός ο κόμβος στο δέντρο μου, το στοιχείο της φόρμας, 635 00:28:18,890 --> 00:28:20,100 να το πω έτσι. 636 00:28:20,100 --> 00:28:22,220 >> Τώρα, ξέρω ακριβώς από γνωρίζοντας ένα κομμάτι της HTML 637 00:28:22,220 --> 00:28:26,330 τώρα είμαστε έχοντας διαβάσει κάποια σύνδεση αναφοράς, ότι ένα στοιχείο της φόρμας υποστηρίζει 638 00:28:26,330 --> 00:28:29,950 ένα σωρό εκδήλωση στο listeners-- Με άλλα λόγια, η λίστα πλυντήριο της εκδήλωσης 639 00:28:29,950 --> 00:28:31,700 ακροατές που είδαμε πριν από λίγο. 640 00:28:31,700 --> 00:28:35,950 Ξέρω ότι από την ανάγνωση της τεκμηρίωσης onsubmit ότι είναι ένα έγκυρο εκδήλωση 641 00:28:35,950 --> 00:28:38,520 ακροατή για ένα στοιχείο φόρμας. 642 00:28:38,520 --> 00:28:41,480 >> Έτσι, τη στιγμή που ξέρω ότι, είναι ασφαλές για μένα να κάνω 643 00:28:41,480 --> 00:28:45,390 η following-- πάρει αυτόν τον κόμβο από το δέντρο, το στοιχείο της φόρμας, 644 00:28:45,390 --> 00:28:48,070 και η πρόσβασή του λεγόμενου onsubmit ιδιοκτησίας. 645 00:28:48,070 --> 00:28:49,880 Έτσι, η τελεία σημαίνει μόνο Αυτό είναι ένα ξενοδοχείο, 646 00:28:49,880 --> 00:28:52,180 σαν μια ιδιαίτερη αξία μέσα από αυτό. 647 00:28:52,180 --> 00:28:55,590 Και τι είδους δεδομένα είμαι ανάθεση, προφανώς, 648 00:28:55,590 --> 00:28:58,900 να onsubmit, η οποία είναι αποτελεσματικά μια μεταβλητή μέσα 649 00:28:58,900 --> 00:29:01,010 αυτού του κόμβου στο δέντρο; 650 00:29:01,010 --> 00:29:04,100 Είναι ένα πεδίο στο εσωτερικό του εν λόγω struct. 651 00:29:04,100 --> 00:29:05,810 Ποιο είναι το είδος των δεδομένων; 652 00:29:05,810 --> 00:29:07,030 >> Μια λειτουργία, ναι. 653 00:29:07,030 --> 00:29:08,607 Έτσι αποδεικνύεται ότι η PHP έχει αυτό. 654 00:29:08,607 --> 00:29:10,440 Και ακόμα κι αν εμείς Δεν είχα να σας πω γι 'αυτό, 655 00:29:10,440 --> 00:29:16,240 C διαθέτει επίσης λειτουργία δείκτες, τις την ικανότητα για να περάσει και να αναθέσει τις λειτουργίες 656 00:29:16,240 --> 00:29:18,330 όπως οι ίδιοι οι τιμές των μεταβλητών ». 657 00:29:18,330 --> 00:29:20,280 Και εμείς δεν πρόκειται οπισθοχώρηση πίσω στην Γ 658 00:29:20,280 --> 00:29:23,250 Αλλά για τώρα, αποδεικνύεται ότι στην δεξιά πλευρά εδώ, 659 00:29:23,250 --> 00:29:26,260 παρόλο που μοιάζει λίγο funky, αυτό σημαίνει, hey πρόγραμμα περιήγησης, 660 00:29:26,260 --> 00:29:27,550 να μου δώσει μια λειτουργία. 661 00:29:27,550 --> 00:29:30,560 Είμαι δεν πρόκειται να ενοχλήσει ακόμη και δίνοντας ένα όνομα, γιατί είμαι κυριολεκτικά 662 00:29:30,560 --> 00:29:34,450 πρόκειται να αναθέσει ας το ονομάσουμε η διεύθυνση αυτής της λειτουργίας 663 00:29:34,450 --> 00:29:35,994 αμέσως να onsubmit. 664 00:29:35,994 --> 00:29:39,160 Με άλλα λόγια, το πρόγραμμα περιήγησης, δεν χρειάζεται να ξέρει τι αυτή η λειτουργία ονομάζεται. 665 00:29:39,160 --> 00:29:41,890 Απλά πρέπει να ξέρετε όπου είναι στη μνήμη. 666 00:29:41,890 --> 00:29:44,210 Και έτσι αρκεί μόνο να έχουν το σύμβολο της ισότητας υπάρχει 667 00:29:44,210 --> 00:29:48,240 και να μην ενοχλεί την ονομασία αυτή, όπως foo ή χαιρετήσει ή οποιαδήποτε άλλη λέξη. 668 00:29:48,240 --> 00:29:50,150 Και τώρα αυτό είναι μόνο μια υφολογική πράγμα. 669 00:29:50,150 --> 00:29:53,100 Θα μπορούσα να μετακινήσετε αυτό το σγουρά στήριγμα πάνω the-- sorry-- επόμενη γραμμή 670 00:29:53,100 --> 00:29:54,750 όπως το κάνουμε συνήθως CS50. 671 00:29:54,750 --> 00:29:57,550 Αλλά σε JavaScript, είναι στην πραγματικότητα στυλιστικά κοινό 672 00:29:57,550 --> 00:30:00,450 να κρατήσει μόνο το σγουρά κηδεμόνα, η πρώτη, σε αυτή την πρώτη γραμμή. 673 00:30:00,450 --> 00:30:02,620 >> Αλλά στη συνέχεια, υπάρχει τίποτα ενδιαφέρον. 674 00:30:02,620 --> 00:30:05,830 Αυτό ανοιχτή σγουρά στήριγμα μόνο οριοθετεί την έναρξη της λειτουργίας μου. 675 00:30:05,830 --> 00:30:09,320 Η λειτουργία είναι τώρα πανομοιότυπες, με εξαίρεση έχω 676 00:30:09,320 --> 00:30:11,452 περιλαμβάνεται η ψευδής επιστροφή μέσα αυτής της λειτουργίας. 677 00:30:11,452 --> 00:30:13,160 Επειδή αποδεικνύεται out-- και θα κάνατε μόνο 678 00:30:13,160 --> 00:30:14,980 το γνωρίζουν αυτό από την ανάγνωση η documentation-- 679 00:30:14,980 --> 00:30:19,740 ότι αν η συνάρτηση που εκχωρείτε για το χειριστή onsubmit επιστρέφει false, 680 00:30:19,740 --> 00:30:23,420 το πρόγραμμα περιήγησης ξέρει ακριβώς και συμφωνεί να μην υποβάλουν το έντυπο σε ένα διακομιστή. 681 00:30:23,420 --> 00:30:27,210 Εάν επιστρέφει true, θα υποβάλει σε ένα διακομιστή, για λόγους που θα δούμε 682 00:30:27,210 --> 00:30:28,700 είναι χρήσιμα σε μια στιγμή. 683 00:30:28,700 --> 00:30:31,000 >> Και τότε το ερωτηματικό μετά η σγουρά στήριγμα ακριβώς εκεί 684 00:30:31,000 --> 00:30:32,541 σημαίνει είμαι γίνει τον ορισμό της συνάρτησης. 685 00:30:32,541 --> 00:30:36,600 Ξέρεις τι να καλέσετε το συντομότερο όπως μπορείτε να ακούσετε μια υποβολή. 686 00:30:36,600 --> 00:30:37,100 Εντάξει. 687 00:30:37,100 --> 00:30:40,650 Αυτή εξακολουθεί να είναι αναμφισβήτητα το είδος άσχημο. 688 00:30:40,650 --> 00:30:42,190 Έτσι, ό, τι περισσότερο μπορούμε να κάνουμε; 689 00:30:42,190 --> 00:30:45,000 >> Λοιπόν, αποδεικνύεται στη συνέχεια, έκδοση δύο, η οποία είναι η last-- 690 00:30:45,000 --> 00:30:46,780 Και θα κοιτάζουμε αυτό. 691 00:30:46,780 --> 00:30:49,850 Με τον κίνδυνο να καταστεί το πιο άσχημο, αποδεικνύεται 692 00:30:49,850 --> 00:30:52,160 ότι υπάρχει μια βιβλιοθήκη ο κόσμος που ονομάζεται jQuery. 693 00:30:52,160 --> 00:30:54,900 Και jQuery είναι ένα σούπερ δημοφιλές βιβλιοθήκη JavaScript 694 00:30:54,900 --> 00:30:57,930 αυτό είναι τόσο δημοφιλής, που οι περισσότεροι κάθε JavaScript-- δεν είναι 695 00:30:57,930 --> 00:31:00,540 ασυνήθιστο για τους ανθρώπους να συγχέουμε jQuery με JavaScript. 696 00:31:00,540 --> 00:31:01,070 Γιατί; 697 00:31:01,070 --> 00:31:04,990 Η ίδια έχει πολύ JavaScript φλύαρη τρόποι για να γίνει things-- 698 00:31:04,990 --> 00:31:07,820 document.getElementById, dadadadadada. 699 00:31:07,820 --> 00:31:10,510 Θα καταλήξετε με πολύ μακρά γραμμές κώδικα. 700 00:31:10,510 --> 00:31:15,550 >> Έτσι, ένας συνάδελφος που ονομάζεται John Κίνηση Πολ, που λειτουργεί πραγματικά για μια εκκίνηση 701 00:31:15,550 --> 00:31:18,630 μέχρι τις ημέρες αυτές, βγήκε με αυτήν τη βιβλιοθήκη χρόνια 702 00:31:18,630 --> 00:31:22,070 Πριν από ότι πολλοί άνθρωποι έχουν συνεισφέρει να ονομάζεται jQuery που αλλάζει 703 00:31:22,070 --> 00:31:23,449 η σύνταξη με τον ακόλουθο τρόπο. 704 00:31:23,449 --> 00:31:25,740 Και ακριβώς έτσι έχετε δει αυτό, Επειδή θα αμετάβλητα 705 00:31:25,740 --> 00:31:28,140 δείτε αυτό αν κάνει ένα τελικό σχέδιο web-based, 706 00:31:28,140 --> 00:31:33,270 αυτό θα είναι το ισοδύναμο τρόπο εφαρμογή του εν λόγω ίδια λειτουργία χρησιμοποιώντας 707 00:31:33,270 --> 00:31:34,630 Αυτή η ειδική βιβλιοθήκη. 708 00:31:34,630 --> 00:31:36,680 >> Τώρα, αντί να πειράζω χώρια στο σύνολό της, 709 00:31:36,680 --> 00:31:38,520 ας δούμε μερικά μοτίβα. 710 00:31:38,520 --> 00:31:44,850 Αυτή η σύνταξη φαίνεται να έχει πόσες ανώνυμο λειτουργίες 711 00:31:44,850 --> 00:31:49,584 ή ανώνυμο λειτουργίες ή AKA λειτουργίες λάμδα; 712 00:31:49,584 --> 00:31:50,190 Δύο, σωστά; 713 00:31:50,190 --> 00:31:52,690 Και ξέρετε ότι, ακόμη και αν δεν είστε σούπερ άνετα με αυτό, 714 00:31:52,690 --> 00:31:55,780 μόνο από το γεγονός ότι λέει συνάρτηση () δύο φορές. 715 00:31:55,780 --> 00:31:58,172 >> Και αποδεικνύεται ότι τι αυτός ο κώδικας είναι doing-- 716 00:31:58,172 --> 00:32:01,255 και θα αναφερθώ σε online αναφορές, τελικά, για κάποια βοήθεια με αυτό. 717 00:32:01,255 --> 00:32:04,480 Αυτό σημαίνει απλά ότι όταν το έγγραφο είναι έτοιμο, 718 00:32:04,480 --> 00:32:07,490 να προχωρήσει και να εγγραφείτε η ακόλουθη συνάρτηση 719 00:32:07,490 --> 00:32:12,064 ως διαχειριστής υποβάλλει για την HTML στοιχείο του οποίου η μοναδική ιδέα είναι demo. 720 00:32:12,064 --> 00:32:14,480 Και τότε, όταν αυτό συμβαίνει, Ονομάζουμε αυτές τις δύο γραμμές κώδικα. 721 00:32:14,480 --> 00:32:18,677 Και αυτό είναι, κατά τραγικό τρόπο, μια πιο φλύαρη τρόπος για να πούμε επιστρέφει false. 722 00:32:18,677 --> 00:32:21,510 Και είπαμε αυτό μόνο και μόνο επειδή θα δείτε έναν κώδικα όπως αυτό το online. 723 00:32:21,510 --> 00:32:23,140 Και δεν είναι τίποτα να πτοείται από. 724 00:32:23,140 --> 00:32:26,057 Αλλά μάλλον, να έχετε κατά νου ότι αυτό είναι πρόκειται να είναι κοινή σε JavaScript 725 00:32:26,057 --> 00:32:26,765 είναι το παράδειγμα αυτό. 726 00:32:26,765 --> 00:32:29,510 Και έτσι γι 'αυτό το δείξει προς το παρόν. 727 00:32:29,510 --> 00:32:30,010 Εντάξει. 728 00:32:30,010 --> 00:32:32,730 Έτσι χωρίς κατοικία πολύ πολύ σε αυτή τη σύνταξη, 729 00:32:32,730 --> 00:32:37,800 Τα υπάρχουν οποιεσδήποτε ερωτήσεις σχετικά με Αυτά τα παραδείγματα ή ιδέες μέχρι στιγμής; 730 00:32:37,800 --> 00:32:38,300 Εντάξει. 731 00:32:38,300 --> 00:32:40,220 Έτσι ας χρησιμοποιήσουμε αυτό για κάτι χρήσιμο. 732 00:32:40,220 --> 00:32:47,070 Κάνοντας μια ιστοσελίδα που απλά λέει γειά σου, έτσι και έτσι δεν είναι και τόσο ενδιαφέρον, 733 00:32:47,070 --> 00:32:47,830 να μην underwhelm. 734 00:32:47,830 --> 00:32:51,038 Αυτός δεν πρόκειται να είναι όμορφη, αλλά πρόκειται να κάνει κάτι χρήσιμο. 735 00:32:51,038 --> 00:32:56,350 Επιτρέψτε μου να πάω πίσω στον κατάλογο μου εδώ και να ανοίξει, δηλαδή, μορφή-0.html. 736 00:32:56,350 --> 00:32:59,320 >> Έτσι, ας υποθέσουμε ότι αυτός είναι ο καινούριος εντός των τειχών του αθλητισμού σελίδα εγγραφής 737 00:32:59,320 --> 00:33:01,780 χωρίς CSS ή οποιαδήποτε αίσθηση του σχεδιασμού. 738 00:33:01,780 --> 00:33:05,404 Και θέλω να πάω μπροστά και να εγγραφείτε εδώ με έναν κωδικό πρόσβασης. 739 00:33:05,404 --> 00:33:08,320 Και Πάω να συμφωνούν με τους όρους και τις προϋποθέσεις και κάντε κλικ στο Εγγραφή. 740 00:33:08,320 --> 00:33:11,700 Και τώρα η ιστοσελίδα λέει, «Είστε εγγραφεί! (Καλά, όχι πραγματικά.) " 741 00:33:11,700 --> 00:33:15,070 Αυτό φαίνεται σαν να εργαστεί, αλλά επιτρέψτε μου να πάει μπροστά και να αναγκάσει reload. 742 00:33:15,070 --> 00:33:18,720 >> Και επιτρέψτε μου να πω, όχι, δεν το κάνετε Πρέπει πραγματική διεύθυνση ηλεκτρονικού ταχυδρομείου μου. 743 00:33:18,720 --> 00:33:21,820 Ή ίσως θα πω μόνο ταχυδρομείου εκεί. 744 00:33:21,820 --> 00:33:25,080 Κωδικός πρόσβασης θα είναι, όπως, 12345. 745 00:33:25,080 --> 00:33:28,810 Και τότε, μόνο και μόνο επειδή είμαι ηλίθιος, τώρα είναι 123456789. 746 00:33:28,810 --> 00:33:31,150 Και εγώ δεν πρόκειται να ελέγξει το κουτί σας. 747 00:33:31,150 --> 00:33:31,850 >> Χμμ. 748 00:33:31,850 --> 00:33:32,350 Εντάξει. 749 00:33:32,350 --> 00:33:34,920 Έτσι, υπάρχει πολλές ευκαιρίες για τη βελτίωση εδώ. 750 00:33:34,920 --> 00:33:39,070 Και ξέρετε, ή θα δείτε στο PSET επτά, ότι μπορείτε να γράψετε code-- 751 00:33:39,070 --> 00:33:41,890 και θα έχετε να γράψετε κώδικα σε PHP-- να υπερασπιστεί 752 00:33:41,890 --> 00:33:45,780 έναντι αυτών των ειδών των χρηστών σφάλματα επειδή ο χρήστης με σαφήνεια 753 00:33:45,780 --> 00:33:46,790 δεν συνεργάστηκε. 754 00:33:46,790 --> 00:33:49,680 Και αυτός ή αυτή δεν σας έχει δώσει όλα τα τιμές θέλατε ή ακόμα και με τη μορφή 755 00:33:49,680 --> 00:33:50,630 ότι θα τους ήθελε. 756 00:33:50,630 --> 00:33:53,250 Έτσι θα δείτε σε επτά PSET ότι θα μπορούσαμε να έχουμε σίγουρα κάποιες 757 00:33:53,250 --> 00:33:55,680 αν οι συνθήκες που λένε Εάν η διεύθυνση ηλεκτρονικού ταχυδρομείου 758 00:33:55,680 --> 00:33:59,450 δεν είναι ένα username@something.edu, θα μπορούσαμε απλά 759 00:33:59,450 --> 00:34:02,575 πω συγγνώμη και να ζητήσει συγγνώμη για το χρήστη πολύ, όπως και εσείς μπορεί να είναι σε PSET επτά. 760 00:34:02,575 --> 00:34:05,700 Ή αν δεν έχετε ελέγξει ότι η θέση, Αποδεικνύεται στην PHP, μπορείτε να εντοπίσετε ότι, 761 00:34:05,700 --> 00:34:06,200 πάρα πολύ. 762 00:34:06,200 --> 00:34:09,389 Και σίγουρα Αν οι κωδικοί πρόσβασης δεν ταιριάζουν όπως σε register.php 763 00:34:09,389 --> 00:34:11,521 για το chipset επτά, μπορείτε να εντοπίσετε αυτό. 764 00:34:11,521 --> 00:34:13,770 Αλλά αυτό είναι ένας πόνος στο λαιμό στο ότι τώρα ζητούν 765 00:34:13,770 --> 00:34:15,510 μας για να πάει σε όλη τη διαδρομή προς το διακομιστή. 766 00:34:15,510 --> 00:34:17,053 Ο χρήστης ενημερώνεται για το σφάλμα. 767 00:34:17,053 --> 00:34:19,219 Και τουλάχιστον αν δεν χρησιμοποιήσετε μερικές τεχνικές εκτροφέα, 768 00:34:19,219 --> 00:34:20,929 τώρα θα πρέπει να κάνετε κλικ στο βέλος επιστροφής. 769 00:34:20,929 --> 00:34:23,300 Δεν θα ήταν ωραίο, όπως πολλές ιστοσελίδες σήμερα, 770 00:34:23,300 --> 00:34:26,190 αν είχε πιο άμεση ανατροφοδότηση, αμέσως; 771 00:34:26,190 --> 00:34:31,389 >> Με άλλα λόγια, επιτρέψτε μου να πάω στην έκδοση ένα, το οποίο πρόκειται να είναι καθόλου πιο όμορφη. 772 00:34:31,389 --> 00:34:33,469 Αλλά δεν έχουν αυτό το χαρακτηριστικό. 773 00:34:33,469 --> 00:34:39,590 Malan, 12345, 123456789, δεν πρόκειται να ελέγξετε το πλαίσιο, Εγγραφή. 774 00:34:39,590 --> 00:34:41,330 Οι κωδικοί πρόσβασης δεν ταιριάζουν. 775 00:34:41,330 --> 00:34:44,459 Έτσι, ακόμη και αν αυτό το pop-up είναι ugly-- μπορούμε να αντικαταστήσουμε αυτό τελικά 776 00:34:44,459 --> 00:34:47,000 με κάτι σαν Bootstrap, τα οποία θα δείτε στο PSET επτά 777 00:34:47,000 --> 00:34:50,239 είναι ένα πολύ δημοφιλές library-- έκανα ανιχνεύσει ότι οι κωδικοί πρόσβασης δεν ταιριάζουν. 778 00:34:50,239 --> 00:34:50,739 Εντάξει. 779 00:34:50,739 --> 00:34:52,530 Λοιπόν, επιτρέψτε μου να διορθώσετε αυτό ως χρήστης. 780 00:34:52,530 --> 00:34:55,460 Επιτρέψτε μου να προχωρήσει και να πω 12345, 12345. 781 00:34:55,460 --> 00:34:57,780 Ακόμα δεν τον έλεγχο της συμφωνίας. 782 00:34:57,780 --> 00:35:00,210 Θα πρέπει να συμφωνήσετε με το Όροι και Προϋποθέσεις. 783 00:35:00,210 --> 00:35:01,760 Οπότε γιατί? 784 00:35:01,760 --> 00:35:04,100 >> Αν έχουμε ήδη στην θέση του ότι υπάρχει ένας τρόπος, 785 00:35:04,100 --> 00:35:07,260 και σας έχουμε απαιτούνται PSET επτά για την ανίχνευση σφαλμάτων 786 00:35:07,260 --> 00:35:09,780 συνθήκες, όπως αυτό server-side, γιατί πρέπει να 787 00:35:09,780 --> 00:35:13,940 ασχοληθείτε επίσης να γίνει αυτό σε JavaScript; 788 00:35:13,940 --> 00:35:15,850 Τι είναι ένα επιχείρημα υπέρ της προσθήκης τι 789 00:35:15,850 --> 00:35:18,760 είστε έτοιμος να δείτε ως some-- υπάρχει επιπρόσθετη πολυπλοκότητα. 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> Ίσως δεν υπάρχει ανάποδα. 792 00:35:25,930 --> 00:35:26,924 Τι θα μπορούσε να είναι; 793 00:35:26,924 --> 00:35:27,840 Κοινό: [δεν ακούγεται]. 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVID Malan: Αχ, ενδιαφέροντα. 796 00:35:32,340 --> 00:35:33,530 Πιθανές εκμεταλλεύεται. 797 00:35:33,530 --> 00:35:37,540 Έτσι σίγουρα, αν δεν είστε χειρισμό λανθασμένη είσοδο του χρήστη τόσο μεγάλη, 798 00:35:37,540 --> 00:35:40,170 ίσως είναι το καλύτερο, αν δεν φτάνουν καν το διακομιστή σας. 799 00:35:40,170 --> 00:35:42,160 Θα ήθελα να σπρώξετε προς τα πίσω και εκεί ας πούμε, μάλλον θα πρέπει να 800 00:35:42,160 --> 00:35:43,284 να ορίσει τόσο των προβλημάτων αυτών. 801 00:35:43,284 --> 00:35:44,140 Αλλά αυτό είναι δίκαιο. 802 00:35:44,140 --> 00:35:44,710 Τι άλλο? 803 00:35:44,710 --> 00:35:45,626 >> Κοινό: [δεν ακούγεται]. 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVID Malan: Ναι. 806 00:35:49,014 --> 00:35:51,680 Αυτός ο κωδικός, όπως είπαμε και πριν, είναι ερμηνεύεται από την πλευρά του πελάτη. 807 00:35:51,680 --> 00:35:53,846 Δεν ενοχλεί το διακομιστή, πράγμα που σημαίνει ότι δεν 808 00:35:53,846 --> 00:35:55,930 να επηρεάσει την ικανότητα φορτίου ή του διακομιστή. 809 00:35:55,930 --> 00:35:59,840 Και τώρα, για μένα λίγο παλιό, αυτό δεν έχει καμία σημαντική επίδραση 810 00:35:59,840 --> 00:36:01,970 γιατί έχω έναν χρήστη τώρα. 811 00:36:01,970 --> 00:36:04,010 >> Αλλά αν είστε οποιαδήποτε ιστοσελίδα της αξιοπρεπές μέγεθος, 812 00:36:04,010 --> 00:36:07,400 ιδιαίτερα το μεγαλύτερο, όπως το Facebook, τόσο περισσότερο μπορείτε να κρατήσετε τον κόσμο μακριά 813 00:36:07,400 --> 00:36:09,927 του διακομιστή σας τόσο το καλύτερο επειδή ένα διακομιστή, φυσικά, 814 00:36:09,927 --> 00:36:12,510 έχει μόνο ένα πεπερασμένο ποσό της μνήμης RAM, ένας πεπερασμένος αριθμός των gigahertz, 815 00:36:12,510 --> 00:36:16,340 ένας πεπερασμένος αριθμός πραγμάτων μπορεί να κάνει ανά μονάδα χρόνου. 816 00:36:16,340 --> 00:36:19,170 Έτσι, εάν υπάρχουν περισσότεροι άνθρωποι στο ο κόσμος το χτύπημα του διακομιστή σας, 817 00:36:19,170 --> 00:36:21,750 τυχαία αποσύνδεση λανθασμένα, εξίσου καλά, αν 818 00:36:21,750 --> 00:36:23,254 μπορεί να κρατήσει το φορτίο από το διακομιστή σας. 819 00:36:23,254 --> 00:36:25,420 Πλέον, ιδιαίτερα σε ένα κινητό device-- Αν έχετε ποτέ 820 00:36:25,420 --> 00:36:29,190 συνδεθείτε στο my.harvard ή NetID του Yale ή τα παρόμοια, 821 00:36:29,190 --> 00:36:32,330 υπάρχει αυτή η καθυστέρηση με πολλή ιστοσελίδες όπως το ότι σύμφωνα με την οποία λαμβάνει, 822 00:36:32,330 --> 00:36:34,110 όπως, μια δεκάρα ή δύο δευτερόλεπτα μερικές φορές. 823 00:36:34,110 --> 00:36:37,979 Και τότε, ο Θεός μου, αν κάνετε λάθος στην πληκτρολόγηση, τότε θα πρέπει να χτυπήσει πίσω και να ξανακάνει αυτό. 824 00:36:37,979 --> 00:36:40,520 Έτσι, υπάρχει λανθάνουσα κατάσταση, ιδίως σχετικά πιο αργές συνδέσεις δικτύου. 825 00:36:40,520 --> 00:36:43,030 Αλλά JavaScript, επειδή τρέχει στον υπολογιστή-πελάτη 826 00:36:43,030 --> 00:36:46,720 και δεν χρειάζεται να πάει μπροστά και πίσω σε μια δυνητικά αργή διαδίκτυο 827 00:36:46,720 --> 00:36:49,780 σύνδεση, μπορείτε να πάρετε σχεδόν στιγμιαία ανατροφοδότηση. 828 00:36:49,780 --> 00:36:50,760 >> Ας ρίξουμε μια ματιά σε αυτό. 829 00:36:50,760 --> 00:36:54,280 Επιτρέψτε μου να ανοίξει μορφή-0 και κοιτάξουμε το HTML εδώ. 830 00:36:54,280 --> 00:36:56,040 Και ας δούμε τι συμβαίνει. 831 00:36:56,040 --> 00:36:59,460 Πρόκειται για μια μορφή της οποίας δράση είναι register.php. 832 00:36:59,460 --> 00:37:01,530 Είμαι απλά χρησιμοποιώντας κερδίστε ότι θα μπορούσα να δω το URL. 833 00:37:01,530 --> 00:37:05,030 Αλλά για τους κωδικούς πρόσβασης, θα είχαμε σίγουρα θέλουμε να αλλάξει αυτό να δημοσιεύσετε στην πραγματικότητα. 834 00:37:05,030 --> 00:37:06,910 Εδώ είναι ένα πεδίο εισαγωγής κειμένου του τύπου. 835 00:37:06,910 --> 00:37:09,050 Εδώ είναι ένα άλλο εισόδου το πεδίο του κωδικού τύπου. 836 00:37:09,050 --> 00:37:13,150 Εδώ είναι, αν δεν έχετε δει ποτέ, μια είσοδος του τύπου κουτάκι. 837 00:37:13,150 --> 00:37:15,250 >> Αλλά δεν υπάρχει καμία JavaScript εδώ απολύτως. 838 00:37:15,250 --> 00:37:18,170 Αυτό είναι απλά HTML που πηγαίνει στο register.php. 839 00:37:18,170 --> 00:37:21,020 Αλλά σε μια έκδοση, όπου άρχισε να παίρνει τα pop-ups, 840 00:37:21,020 --> 00:37:23,010 ας δούμε τι πραγματικά συμβαίνει εδώ. 841 00:37:23,010 --> 00:37:26,757 Στην έκδοση ενός, τι Πάω να see-- μου 842 00:37:26,757 --> 00:37:29,340 πίστευα ότι θα μπορούσε να καθυστερήσει αρκετά με αρκετές λέξεις, αλλά έτρεξα έξω. 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> Στην έκδοση ένα-- εκεί πάμε. 845 00:37:38,590 --> 00:37:43,180 Στην έκδοση ενός, παρατηρήστε την following-- και δεν είναι η καλύτερη εφαρμογή, 846 00:37:43,180 --> 00:37:44,420 αλλά είναι η πρώτη μου. 847 00:37:44,420 --> 00:37:47,680 Παρατηρήστε ότι κάτω από το μορφή, έχω μια ετικέτα σενάριο. 848 00:37:47,680 --> 00:37:49,430 Και ένα script tag το μέσο, hey, το πρόγραμμα περιήγησης, εδώ 849 00:37:49,430 --> 00:37:52,340 έρχεται κάποια κώδικα σε, Τυπικά, το JavaScript. 850 00:37:52,340 --> 00:37:54,420 Και τώρα, παρατηρήστε τι κάνω. 851 00:37:54,420 --> 00:37:59,070 Στις line-- μπορώ μετά βίας διαβάστε it-- γραμμή 32, που λέει, 852 00:37:59,070 --> 00:38:01,420 var form-- ώστε να μου δώσει μια μεταβλητή που ονομάζεται μορφή. 853 00:38:01,420 --> 00:38:05,049 Και στη συνέχεια να πάρει document.getElementId «καταγραφή». 854 00:38:05,049 --> 00:38:05,590 Τι είναι αυτό? 855 00:38:05,590 --> 00:38:07,290 Λοιπόν, επιτρέψτε μου να γυρίζουν πίσω μέχρι εδώ. 856 00:38:07,290 --> 00:38:11,510 Και προειδοποίηση, αχ, έδωσα το στοιχείο της φόρμας ένα αυθαίρετο αλλά περιγραφική ιδέα 857 00:38:11,510 --> 00:38:13,050 εγγραφής. 858 00:38:13,050 --> 00:38:16,820 Έτσι, αυτό μου δίνει μια μεταβλητή που μου επιτρέπει να αρπάξει αυτόν τον κόμβο, 859 00:38:16,820 --> 00:38:19,580 το ορθογώνιο αυτό το δέντρο που ονομάζεται μορφή. 860 00:38:19,580 --> 00:38:24,460 form.onsubmit μέσα, hey πρόγραμμα περιήγησης, εγγραφή ενός ακροατή εκδήλωση 861 00:38:24,460 --> 00:38:25,470 σε αυτό το έντυπο. 862 00:38:25,470 --> 00:38:28,890 Με άλλα λόγια, όταν αυτή η μορφή είναι υπέβαλε, εκτελέστε τον παρακάτω κώδικα. 863 00:38:28,890 --> 00:38:30,810 Δεν χρειάζεται ένα όνομα, διότι γιατί θα πρέπει να γνωρίζετε το όνομα; 864 00:38:30,810 --> 00:38:32,880 Απλά πρέπει να ξέρετε τι πρέπει να εκτελέσει, ergo 865 00:38:32,880 --> 00:38:35,610 είναι μια ανώνυμη ή λάμδα λειτουργία. 866 00:38:35,610 --> 00:38:37,632 Και αυτή η λειτουργία είναι όλες αυτές τις γραμμές εδώ. 867 00:38:37,632 --> 00:38:40,840 Και τώρα, για να είμαι ειλικρινής, ακόμα κι αν δεν θα μπορούσε να έχει γράψει ποτέ το JavaScript 868 00:38:40,840 --> 00:38:44,200 πριν, είναι ακριβώς C και PHP λογική. 869 00:38:44,200 --> 00:38:51,720 Έτσι, αν form.email.value == "" - Έτσι, αν το πεδίο είναι κενό e-mail, 870 00:38:51,720 --> 00:38:54,980 φωνάζω στο χρήστη «πρέπει να συμπληρώστε το email σας. " 871 00:38:54,980 --> 00:38:58,980 Αλλιώς, αν form.password.value είναι κενό φωνάζει στον χρήστη, 872 00:38:58,980 --> 00:39:00,400 "Πρέπει να δώσετε τον κωδικό πρόσβασής σας." 873 00:39:00,400 --> 00:39:04,240 >> Πιο ενδιαφέρουσα είναι λογικά, αν δεν form.password.value 874 00:39:04,240 --> 00:39:08,630 ίση form.confirmation.value-- πού επιβεβαίωση προέρχεται από; 875 00:39:08,630 --> 00:39:09,470 Επιτρέψτε μου προς τα πίσω. 876 00:39:09,470 --> 00:39:12,870 Λοιπόν, κάλεσα αυτή η είσοδος πεδίο εδώ τον κωδικό πρόσβασης. 877 00:39:12,870 --> 00:39:15,180 Και πήρα αυτό το ένα εδώ επιβεβαίωση. 878 00:39:15,180 --> 00:39:17,850 Θα μπορούσα να έχω αυτό που ονομάζεται κωδικό πρόσβασης δύο ή οτιδήποτε άλλο. 879 00:39:17,850 --> 00:39:20,560 Είμαι απλά λογικά έλεγχο ότι αυτά τα δύο είναι τα ίδια. 880 00:39:20,560 --> 00:39:25,760 Else-- ότι φαίνεται αυτό είναι ο κ Boole again-- μια τιμή Boolean, το πλαίσιο ελέγχου. 881 00:39:25,760 --> 00:39:29,810 Έτσι, αν λέω, θαυμαστικό point-- αν δεν form.agreement.checked, 882 00:39:29,810 --> 00:39:31,820 φωνάζω στο χρήστη, καθώς και. 883 00:39:31,820 --> 00:39:34,470 >> Έτσι, αυτή η σύνταξη θα δείτε είναι πολύ συχνές σε JavaScript, 884 00:39:34,470 --> 00:39:35,970 όπου θα έχετε αυτό το συμβολισμό με τελείες. 885 00:39:35,970 --> 00:39:37,460 Μπορείτε να ξεκινήσετε με ένα αντικείμενο εδώ. 886 00:39:37,460 --> 00:39:41,430 Θα βουτήξει στα βαθιά για να α να ένα ακίνητο όπως τον κωδικό πρόσβασης. 887 00:39:41,430 --> 00:39:43,280 Και τότε θα πάρει την πραγματική του αξία. 888 00:39:43,280 --> 00:39:45,830 Και πάλι, εδώ είναι η είσοδος. 889 00:39:45,830 --> 00:39:47,310 Εδώ είναι το κωδικό όνομα. 890 00:39:47,310 --> 00:39:50,860 Και η τιμή του είναι ανεξάρτητα από το ανθρώπινο έχει πράγματι πληκτρολογήσει. 891 00:39:50,860 --> 00:39:53,610 >> Έτσι, σε όλα αυτά περιπτώσεις, επέστρεψα ψευδείς. 892 00:39:53,610 --> 00:39:55,800 Αλλά αν όχι, θα επιστρέψει αλήθεια. 893 00:39:55,800 --> 00:39:58,030 Και έτσι τώρα βλέπουμε ένα αναγκάζοντας χρήση όταν 894 00:39:58,030 --> 00:40:00,620 θα επιστρέψει false για να σταματήσει αυτό το χρήστη να κάνει 895 00:40:00,620 --> 00:40:03,200 και να σε κάνει να επιλέξετε ξανά ή πληκτρολογήστε ξανά. 896 00:40:03,200 --> 00:40:05,870 Διαφορετικά, θα επιστρέψουμε αλήθεια. 897 00:40:05,870 --> 00:40:08,585 >> Και επιτρέψτε μου να εισαγάγει ένα άλλη παραλλαγή του αυτό ακριβώς 898 00:40:08,585 --> 00:40:13,140 τους σπόρους προς σπορά κάποια κατανόηση αυτού. 899 00:40:13,140 --> 00:40:16,850 Λοιπόν, στην έκδοση 2 του παρόντος, η μορφή με 2-- Θα το κάνω με μια κίνηση του χεριού. 900 00:40:16,850 --> 00:40:19,920 Αυτό είναι, για όσους έχουν την περιέργεια, η έκδοση jQuery, 901 00:40:19,920 --> 00:40:23,330 Όσοι από εσάς ίσως να θέλετε να ανακατεύομαι σε συγκεκριμένη βιβλιοθήκη. 902 00:40:23,330 --> 00:40:25,145 Αλλά ας start-- και για κάθε απορία; 903 00:40:25,145 --> 00:40:29,230 Επιτρέψτε μου να παύση για τη στιγμή, διότι ότι ήταν γρήγορη και πολύ. 904 00:40:29,230 --> 00:40:32,610 >> Αλλά το ωραίο πράγμα εδώ είναι ότι όλα του κώδικα είναι λίγο πολύ το ίδιο. 905 00:40:32,610 --> 00:40:33,985 Το νέο υλικό είναι αυτό που είναι η Κυβέρνηση; 906 00:40:33,985 --> 00:40:35,115 Ποια είναι αυτά τα ορθογώνια; 907 00:40:35,115 --> 00:40:35,990 Ποιες είναι αυτές οι κόμβοι; 908 00:40:35,990 --> 00:40:37,540 Τι είναι μια ανώνυμη συνάρτηση; 909 00:40:37,540 --> 00:40:38,830 Τι είναι ένα πρόγραμμα χειρισμού συμβάντων; 910 00:40:38,830 --> 00:40:43,480 Αλλά ευτυχώς, οι περισσότερες από ότι είναι ακριβώς πλήρη κύκλο από, ας πούμε, την εβδομάδα μηδέν. 911 00:40:43,480 --> 00:40:43,980 Εντάξει. 912 00:40:43,980 --> 00:40:46,070 Οπότε κάτι λίγο πιο ενδιαφέρον; 913 00:40:46,070 --> 00:40:49,340 Λοιπόν, πρώτα απ 'όλα, επιτρέψτε μου να πάω μπροστά και να ανοίξει το Google Maps. 914 00:40:49,340 --> 00:40:53,360 Και θα παρατηρήσετε ότι για μια στιγμή, στο κλάσμα του δευτερολέπτου, 915 00:40:53,360 --> 00:40:55,930 Παρατηρήστε τι συμβαίνει όταν Κάνω κλικ αρκετά γρήγορα. 916 00:40:55,930 --> 00:40:59,720 Και αυτή η σύνδεση στο Χάρβαρντ είναι τόσο γρήγορα που δεν το προσέξει πολύ. 917 00:40:59,720 --> 00:41:04,469 Αλλά τι είδους είδος δείτε αν κάνω κλικ και σύρετε πολύ γρήγορα; 918 00:41:04,469 --> 00:41:07,010 Όσοι από εσάς παρακολουθείτε on-line, αν αυτό επιβραδύνει την ταχύτητα 0.5x, 919 00:41:07,010 --> 00:41:09,640 μπορείτε να δείτε αυτό το καλύτερο. 920 00:41:09,640 --> 00:41:13,550 >> Τι συνέβαινε μόνο πριν χτύπησα και έσυραν; 921 00:41:13,550 --> 00:41:15,900 Επιτρέψτε μου να προσπαθήσω here-- επιτρέψτε μου να κάνω κάτι άλλο, όπως το 90210. 922 00:41:15,900 --> 00:41:17,550 Ας πάμε μακριά. 923 00:41:17,550 --> 00:41:19,000 Αυτό ήταν πολύ γρήγορα, πάρα πολύ. 924 00:41:19,000 --> 00:41:22,460 Τι θα λέγατε για Disney World; 925 00:41:22,460 --> 00:41:23,190 Εκεί πάμε. 926 00:41:23,190 --> 00:41:23,690 ΕΝΤΆΞΕΙ. 927 00:41:23,690 --> 00:41:26,030 Τι βλέπετε για ένα κλάσμα του δευτερολέπτου; 928 00:41:26,030 --> 00:41:27,200 Ακριβώς, όπως, πλατείες, σωστά; 929 00:41:27,200 --> 00:41:28,930 Τα σύμβολα κράτησης θέσης για τα κεραμίδια; 930 00:41:28,930 --> 00:41:30,270 >> Λοιπόν, τι συμβαίνει εδώ; 931 00:41:30,270 --> 00:41:35,410 Google Maps είναι ένα ωραίο παράδειγμα της Αυτή η τεχνολογία που ονομάζεται AJAX. 932 00:41:35,410 --> 00:41:38,510 Και αυτό είναι που θα αρχίσουμε να χρησιμοποιήστε το JavaScript στον ιδιαίτερα 933 00:41:38,510 --> 00:41:39,277 σαγηνευτικό τρόπο. 934 00:41:39,277 --> 00:41:41,610 Πίσω στην ημέρα, δεν υπήρχε Αυτή η ιστοσελίδα που ονομάζεται MapQuest. 935 00:41:41,610 --> 00:41:44,120 Και εγώ θα έπρεπε να λάβει μια στιγμιότυπο αυτό από τη δεκαετία του 1990, 936 00:41:44,120 --> 00:41:45,820 όπου κι αν ήθελε να κοιτάξτε εδώ πάνω στο χάρτη, 937 00:41:45,820 --> 00:41:48,590 μπορείτε κυριολεκτικά να κάνετε κλικ σε ένα βέλος στην κορυφή που επιδείξατε 938 00:41:48,590 --> 00:41:49,870 μια διαφορετική πλατεία του χάρτη. 939 00:41:49,870 --> 00:41:51,790 Αν θέλετε να κινηθείτε αριστερά, μπορείτε κλικ σε ένα βέλος που σας έδειξα 940 00:41:51,790 --> 00:41:53,210 μια διαφορετική πλατεία του χάρτη. 941 00:41:53,210 --> 00:41:54,840 Και μερικές ιστοσελίδες κάνουν ακόμα αυτό σήμερα. 942 00:41:54,840 --> 00:41:57,820 Αλλά ακόμα και MapQuest έχει πάρει καλύτερα, όπως το Google Maps. 943 00:41:57,820 --> 00:42:01,880 >> Αντ 'αυτού, τι είναι καλύτερο αυτά ημέρες είναι ιστοσελίδες που χρησιμοποιούν AJAX. 944 00:42:01,880 --> 00:42:04,510 AJAX-- αλλιώς γνωστή ως Asynchronous JavaScript και XML, 945 00:42:04,510 --> 00:42:08,370 το οποίο είναι μόνο ένα φανταχτερό τρόπο λέγοντας μια τεχνολογία ή τεχνική ότι 946 00:42:08,370 --> 00:42:14,200 επιτρέπει σε ένα πρόγραμμα περιήγησης με τη χρήση JavaScript να προβούν σε πρόσθετες αιτήσεις HTTP 947 00:42:14,200 --> 00:42:16,390 αφού η σελίδα έχει φορτωθεί. 948 00:42:16,390 --> 00:42:17,479 Λοιπόν, τι σημαίνει αυτό; 949 00:42:17,479 --> 00:42:19,270 Λοιπόν, αυτό θα ήταν το είδος των ενοχλητικών στο Gmail 950 00:42:19,270 --> 00:42:21,103 αν κάθε φορά που ήθελε για να ελέγξετε την αλληλογραφία σας, 951 00:42:21,103 --> 00:42:24,940 που είχε κυριολεκτικά πατήστε Control-R ή Command-R ή κάντε κλικ στο κουμπί Ανανέωση 952 00:42:24,940 --> 00:42:26,580 και ολόκληρη η σελίδα καταριέται θα φορτώσετε εκ νέου. 953 00:42:26,580 --> 00:42:26,800 Σωστά; 954 00:42:26,800 --> 00:42:28,460 Θα αναβοσβήνει λευκό μάλλον για τη δεύτερη. 955 00:42:28,460 --> 00:42:30,043 Θα δείτε το ηλίθιο γραμμή προόδου. 956 00:42:30,043 --> 00:42:33,170 Και ακριβώς για να δείτε αν έχετε νέα το σύνολο της ιστοσελίδας και το URL ταχυδρομείου, 957 00:42:33,170 --> 00:42:34,580 είστε σε θα πρέπει να φορτώσετε εκ νέου. 958 00:42:34,580 --> 00:42:35,960 >> Αλλά αυτό δεν είναι ό, τι συμβαίνει στο Gmail. 959 00:42:35,960 --> 00:42:36,459 Σωστά; 960 00:42:36,459 --> 00:42:40,300 Όταν παίρνετε ένα νέο e-mail στο Gmail, τι συμβαίνει στην οθόνη; 961 00:42:40,300 --> 00:42:41,480 Δείχνει ακριβώς επάνω, δεξιά; 962 00:42:41,480 --> 00:42:44,280 Απλώς φαίνεται μαγικά ως μια νέα σειρά στον πίνακα. 963 00:42:44,280 --> 00:42:47,030 Αυτό συνεπάγεται στην πραγματικότητα μια αξιοπρεπές ποσό της πολυπλοκότητας. 964 00:42:47,030 --> 00:42:51,892 Στην πραγματικότητα, αν το σκεφτείτε αυτό το δέντρο, η οποία παρόλο που είναι μια απλή εδώ, 965 00:42:51,892 --> 00:42:54,100 Gmail-- και θα έπρεπε να εξετάσουμε τον κώδικα για να sure-- 966 00:42:54,100 --> 00:42:58,710 πιθανότατα έχει έναν πίνακα HTML ή ίσως μια μη διατεταγμένη λίστα που καθιστά 967 00:42:58,710 --> 00:43:01,060 καθένα από τα εισερχόμενα e-mail σας, όπως. 968 00:43:01,060 --> 00:43:04,050 >> Και έτσι αν φανταστείτε αυτό εκεί είναι ένα δέντρο στη μνήμη όταν είστε 969 00:43:04,050 --> 00:43:09,050 χρησιμοποιώντας το Gmail που φαίνεται το είδος του είδους όπως αυτό, όταν η Google αντιλαμβάνεται, ooh, 970 00:43:09,050 --> 00:43:12,770 έχετε ένα νέο μήνυμα ηλεκτρονικού ταχυδρομείου, δεν το κάνει θέλουν να ξαναχτίσουν το σύνολο δέντρο. 971 00:43:12,770 --> 00:43:16,430 Αντίθετα, θέλει να βρει τον κόμβο το δέντρο που αντιπροσωπεύει τα εισερχόμενά σας 972 00:43:16,430 --> 00:43:18,580 και απλά να εισάγετε ένα νέο κόμβο. 973 00:43:18,580 --> 00:43:24,640 >> Έτσι, πολύ παρόμοιο με το chipset πέντε, όπου μπορείτε Έπρεπε να τοποθετήσετε κόμβους σε ένα πίνακα κατακερματισμού, 974 00:43:24,640 --> 00:43:28,410 Ομοίως η Google, μέσω JavaScript κώδικα που έχει γράψει, 975 00:43:28,410 --> 00:43:31,890 διασχίζουν αυτό το δέντρο, να καταλάβω πού είναι ότι ένα μέρος των εισερχομένων του παραθύρου, 976 00:43:31,890 --> 00:43:33,440 και στη συνέχεια τοποθετήστε μια νέα γραμμή. 977 00:43:33,440 --> 00:43:37,460 Και μια νέα γραμμή σημαίνει ότι μόνο ένας ή περισσότερους νέους κόμβους σε ένα δέντρο. 978 00:43:37,460 --> 00:43:41,340 >> Και έτσι AJAX είναι αυτή η τεχνική ότι επιτρέπει ακριβώς αυτό. 979 00:43:41,340 --> 00:43:44,440 Μόλις έχετε επισκεφθεί ένα URL, Ωστόσο τρελό καιρό είναι, 980 00:43:44,440 --> 00:43:46,472 και μόλις η σελίδα έχει έχουν φορτωθεί, μπορείτε ακόμα 981 00:43:46,472 --> 00:43:48,430 αρπάξει περισσότερα δεδομένα από το internet-- είτε πρόκειται για 982 00:43:48,430 --> 00:43:52,460 ένα μήνυμα ηλεκτρονικού ταχυδρομείου ή ένα κεραμίδι από ένα map-- πιάσε το πίσω από τα παρασκήνια 983 00:43:52,460 --> 00:43:55,290 και στη συνέχεια να το τοποθετήσετε στη σελίδα έτσι ώστε ο άνθρωπος δεν κάνει πραγματικά 984 00:43:55,290 --> 00:43:56,910 πρέπει να περιμένουμε για αυτό. 985 00:43:56,910 --> 00:43:58,980 >> Facebook Messenger λειτουργεί με τον ίδιο τρόπο. 986 00:43:58,980 --> 00:44:01,562 Οποιοσδήποτε αριθμός άλλων websites-- Ω, στην πραγματικότητα, ακόμη και αυτό. 987 00:44:01,562 --> 00:44:04,270 Θέλω να πω, αυτό είναι, ειλικρινά, το είδος του ένα ενοχλητικό χαρακτηριστικό αυτές τις μέρες. 988 00:44:04,270 --> 00:44:07,500 Αν αρχίσω την αναζήτηση για αυτό cats-- Είναι το είδος της μια φρικτή εμπειρία του χρήστη. 989 00:44:07,500 --> 00:44:08,990 Είναι μόλις αρχίσει να ψάχνει για μένα. 990 00:44:08,990 --> 00:44:10,050 Λοιπόν τι είναι αυτό που κάνει; 991 00:44:10,050 --> 00:44:12,920 Η διεύθυνση URL δεν έχει ουσιαστικά μεταβληθεί από τότε που άρχισα την πληκτρολόγηση. 992 00:44:12,920 --> 00:44:17,330 Αλλά τι συμβαίνει σε όλη την wire-- ΟΚ, χμμ ενδιαφέρον. 993 00:44:17,330 --> 00:44:20,470 Τι συμβαίνει σε όλη την σύρμα εδώ παίρνει μόνο πιο περίεργα. 994 00:44:20,470 --> 00:44:21,090 >> ΕΝΤΆΞΕΙ. 995 00:44:21,090 --> 00:44:24,670 Επιτρέψτε μου λοιπόν να προχωρήσει και να επιθεωρούν στοιχείο και πηγαίνετε στην καρτέλα Δίκτυο 996 00:44:24,670 --> 00:44:27,040 και προσπαθούν να κάνουν αυτό τεχνικά και λιγότερο για τις γάτες. 997 00:44:27,040 --> 00:44:32,595 Κατά την πληκτρολόγηση, κυριολεκτικά, γάτες and-- τι συμβαίνει 998 00:44:32,595 --> 00:44:37,710 per-- Είμαι δεν πρόκειται να κάντε κλικ σε αυτό. 999 00:44:37,710 --> 00:44:38,210 Εντάξει. 1000 00:44:38,210 --> 00:44:44,280 Έτσι, εδώ κάτω, τι συμβαίνει σε κάθε φορά που πληκτρολογήστε έναν χαρακτήρα, προφανώς; 1001 00:44:44,280 --> 00:44:45,000 Όπως, το χαμηλό επίπεδο; 1002 00:44:45,000 --> 00:44:47,860 Τι συμβαίνει με το κάθε ένα από αυτά χαρακτήρες Γράφω στο πληκτρολόγιό μου; 1003 00:44:47,860 --> 00:44:48,359 Ναι; 1004 00:44:48,359 --> 00:44:50,950 Κοινό: [δεν ακούγεται]. 1005 00:44:50,950 --> 00:44:52,340 >> DAVID Malan: Ακριβώς. 1006 00:44:52,340 --> 00:44:55,600 Κάθε ένας από αυτούς τους χαρακτήρες είναι μετάβαση στην Google, ένα κάθε φορά. 1007 00:44:55,600 --> 00:44:58,490 Χτίζουν μια κλωστή στον server τους, που αντιπροσωπεύει 1008 00:44:58,490 --> 00:44:59,936 όλα όσα έχω πληκτρολογήσει μέχρι στιγμής. 1009 00:44:59,936 --> 00:45:01,810 Και κάθε φορά που πληκτρολογείτε άλλο χαρακτήρα, που 1010 00:45:01,810 --> 00:45:04,530 χρησιμοποιούν μυστική συνταγή τους ένα αλγόριθμος αναζήτησης και να καταλάβω, 1011 00:45:04,530 --> 00:45:07,370 εννοεί αυτή τη σελίδα γάτας ή αυτή τη σελίδα με γάτα ή κάτι παρόμοιο; 1012 00:45:07,370 --> 00:45:10,620 Έτσι, κατά κάποιο τρόπο, αυτό μου δίνει μια καλύτερη εμπειρία από το γεγονός ότι εγώ δεν κάνω καν 1013 00:45:10,620 --> 00:45:11,860 Πρέπει να ολοκληρώσετε τη σκέψη μου. 1014 00:45:11,860 --> 00:45:14,440 Και πράγματι, είναι ένα χρήσιμο πράγμα, αυτόματης συμπλήρωσης σε γενικές γραμμές. 1015 00:45:14,440 --> 00:45:17,690 Αν τους αλγόριθμους είναι αρκετά καλό και αν αναζητήσεις μου είναι αρκετά προφανές, 1016 00:45:17,690 --> 00:45:19,300 Δεν έχω να πληκτρολογήσετε ολόκληρη τη λέξη. 1017 00:45:19,300 --> 00:45:22,110 Θα πάμε να μου πεις τι είναι ότι είμαι πραγματικά ψάχνει για. 1018 00:45:22,110 --> 00:45:25,940 Έτσι, αυτό που αποκαλεί η Google στιγμιαία αναζήτηση μόνο με τη χρήση AJAX, 1019 00:45:25,940 --> 00:45:30,820 χρησιμοποιώντας τον κωδικό που τους επιτρέπει να ζητήσουν πρόσθετο περιεχόμενο μέσω ενός web browser 1020 00:45:30,820 --> 00:45:34,026 πίσω από τις σκηνές που χρησιμοποιούν αυτό το νέα γλώσσα, το JavaScript. 1021 00:45:34,026 --> 00:45:35,400 Έτσι έχουμε μερικά λεπτά αριστερά. 1022 00:45:35,400 --> 00:45:37,710 Και επιτρέψτε μου να καλέσετε φίλε μου Colton επάνω στη σκηνή, 1023 00:45:37,710 --> 00:45:40,090 δεδομένου ότι φαινόταν ιδιαίτερα διασκεδαστικό τελευταία φορά 1024 00:45:40,090 --> 00:45:42,290 για την εισαγωγή μιας τεχνολογίας ότι κάποιοι από εσάς 1025 00:45:42,290 --> 00:45:44,769 έχουν εκφράσει το ενδιαφέρον σε έργα για την τελική. 1026 00:45:44,769 --> 00:45:47,310 Σκεφτήκαμε ότι θα ήταν διασκεδαστικό να φέρει μέχρι εθελοντής, όμως, σήμερα 1027 00:45:47,310 --> 00:45:50,074 να σας δείξει μια προσθήκη Αυτό που επιτρέπει you-- ναι, 1028 00:45:50,074 --> 00:45:50,990 Είδα αυτό το χέρι πρώτα. 1029 00:45:50,990 --> 00:45:52,900 Έλα επάνω. 1030 00:45:52,900 --> 00:45:53,560 Πολύ καλά κάνει. 1031 00:45:53,560 --> 00:45:55,035 Καλη δουλεια. 1032 00:45:55,035 --> 00:45:57,410 Πάω να προβάλει αυτό σε η οθόνη ακριβώς σε μια στιγμή. 1033 00:45:57,410 --> 00:45:58,150 Ποιο είναι το όνομά σου για τον καθένα; 1034 00:45:58,150 --> 00:45:59,180 >> ΕΕΣ: Είμαι ΕΥΤ. 1035 00:45:59,180 --> 00:45:59,410 >> DAVID Malan: ΕΘΑ; 1036 00:45:59,410 --> 00:45:59,785 >> ΕΕΣ: ΕΥΤ. 1037 00:45:59,785 --> 00:46:00,160 >> DAVID Malan: ΕΕΣ; 1038 00:46:00,160 --> 00:46:00,730 >> ΕΕΣ: Ναι. 1039 00:46:00,730 --> 00:46:01,250 >> DAVID Malan: Χαίρομαι που σε βλέπω. 1040 00:46:01,250 --> 00:46:01,600 Εντάξει. 1041 00:46:01,600 --> 00:46:02,590 Επιτρέψτε μου να πάρει αυτό έτοιμο. 1042 00:46:02,590 --> 00:46:04,423 Ελάτε να το με μέση εδώ Colton. 1043 00:46:04,423 --> 00:46:07,050 Τι Colton έχει στα χέρια του Σήμερα είναι ένα τηλεχειριστήριο. 1044 00:46:07,050 --> 00:46:10,440 Έτσι, αντί απλά να σταθεί εκεί ένα τρισδιάστατο κόσμο κοιτάζοντας γύρω 1045 00:46:10,440 --> 00:46:14,080 όπως έκανε Colton, τώρα μπορείτε ΕΕΣ στην πραγματικότητα με τα πόδια γύρω από το ανεβαίνει, 1046 00:46:14,080 --> 00:46:16,689 κάτω, αριστερά και δεξιά σαν ένα Nintendo ή το Xbox ελεγκτή. 1047 00:46:16,689 --> 00:46:18,230 ΕΕΣ: Πάω να πέσει από το στάδιο. 1048 00:46:18,230 --> 00:46:20,500 DAVID Malan: Θα σταθεί περίπου εδώ. 1049 00:46:20,500 --> 00:46:21,991 Αλλά αυτό είναι ένα ρίσκο. 1050 00:46:21,991 --> 00:46:22,490 ΕΝΤΆΞΕΙ. 1051 00:46:22,490 --> 00:46:25,690 Έτσι προχωρήστε και να τα βάλετε σε. 1052 00:46:25,690 --> 00:46:29,315 Επιτρέψτε μου να προχωρήσει και μεταβείτε στην οθόνη εδώ. 1053 00:46:29,315 --> 00:46:30,670 Επιτρέψτε μου να χαμηλώστε τα φώτα. 1054 00:46:30,670 --> 00:46:32,780 Και Colton, επιτρέψτε μου να έρχονται στέκονται δίπλα σας. 1055 00:46:32,780 --> 00:46:35,520 >> Θέλετε να εξηγήσω εδώ με το μικρόφωνο ό, τι κάνουμε; 1056 00:46:35,520 --> 00:46:36,380 Ορίστε. 1057 00:46:36,380 --> 00:46:37,280 >> COLTON: Σίγουρα. 1058 00:46:37,280 --> 00:46:39,980 Έτσι τώρα είμαστε φόρτωση μέχρι το Oculus, 1059 00:46:39,980 --> 00:46:43,070 Υποθέτω operating-- που δεν λειτουργούν σύστημα, αλλά το κύριο πρόγραμμα, όπου 1060 00:46:43,070 --> 00:46:46,630 μπορείτε να αποκτήσετε πρόσβαση σε όλα τα παιχνίδια και εφαρμογές που υπάρχουν στη βιβλιοθήκη σας. 1061 00:46:46,630 --> 00:46:50,060 Έτσι, αυτή τη στιγμή, θα πρέπει να πω αγγίξτε το touchpad για να ξεκινήσει. 1062 00:46:50,060 --> 00:46:53,430 Touchpad πρόκειται να είναι σχετικά με την δεξιά πλευρά του ακουστικού. 1063 00:46:53,430 --> 00:46:54,569 Έτσι προχωρήστε και tap-- 1064 00:46:54,569 --> 00:46:55,110 ΕΕΣ: Ω, ο άνθρωπος. 1065 00:46:55,110 --> 00:46:56,443 DAVID Malan: Ναι, θα πάτε εκεί. 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 Η ποιότητα Efa βλέπει είναι πολύ υψηλότερη ποιότητα. 1068 00:47:02,460 --> 00:47:03,831 Αυτό είναι ακριβώς το Wi-Fi εδώ. 1069 00:47:03,831 --> 00:47:05,580 COLTON: Λοιπόν, τι είσαι πρόκειται να θελήσετε να κάνετε 1070 00:47:05,580 --> 00:47:08,350 είναι να κοιτάξουμε προς την κορυφή δεξιά γωνία της οθόνης. 1071 00:47:08,350 --> 00:47:10,420 Ναι, αυτό το παιχνίδι για την πολύ πάνω δεξιά. 1072 00:47:10,420 --> 00:47:14,780 Και στη συνέχεια, όταν είστε επιλογή αυτό, πατήστε ξανά το touchpad. 1073 00:47:14,780 --> 00:47:17,010 Νομίζω Dreadhalls του. 1074 00:47:17,010 --> 00:47:20,820 Και τότε εδώ είναι a-- εδώ, επιτρέψτε Θέλω να κρατήσει τα γυαλιά σας για σας. 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> Γι 'αυτόν ακριβώς έδωσε έναν ελεγκτή. 1077 00:47:25,790 --> 00:47:28,886 Έτσι τώρα μπορεί να ελέγξει το παιχνίδι. 1078 00:47:28,886 --> 00:47:30,510 Αυτός μπορεί να κινηθεί γύρω και τέτοια πράγματα. 1079 00:47:30,510 --> 00:47:31,968 Έτσι πάει μπροστά και να κοιτάζω προς τα πάνω προς την κορυφή. 1080 00:47:31,968 --> 00:47:33,640 Θα πρέπει να δείτε New Game. 1081 00:47:33,640 --> 00:47:36,310 Έτσι προχωρήστε και μπορείτε να το κάνετε αυτό. 1082 00:47:36,310 --> 00:47:39,320 Τώρα, θα πρέπει να είναι σε θέση να ελέγξει τον εαυτό σας με τον ελεγκτή, 1083 00:47:39,320 --> 00:47:43,860 καθώς και, το συντομότερο το παιχνίδι φορτώνει εδώ. 1084 00:47:43,860 --> 00:47:46,356 Αυτό θα μπορούσε να είναι λίγο τρομακτικό. 1085 00:47:46,356 --> 00:47:47,300 >> ΕΕΣ: Τώρα μπορείτε να μου πείτε. 1086 00:47:47,300 --> 00:47:50,132 ΕΝΤΆΞΕΙ. 1087 00:47:50,132 --> 00:47:51,080 >> COLTON: Εντάξει. 1088 00:47:51,080 --> 00:47:52,650 Έτσι, επιβεβαιώνουν ότι μπορείτε να μετακινηθείτε. 1089 00:47:52,650 --> 00:47:52,750 ΕΝΤΆΞΕΙ. 1090 00:47:52,750 --> 00:47:53,583 Μπορείτε να μετακινήσετε γύρω. 1091 00:47:53,583 --> 00:47:54,300 Τέλεια. 1092 00:47:54,300 --> 00:47:56,470 Έτσι, αν κοιτάξει κάτω, έχετε ένα χάρτη. 1093 00:47:56,470 --> 00:47:58,170 Χάρτης που δείχνει πού βρίσκεστε. 1094 00:47:58,170 --> 00:47:59,720 Μπορείτε να δείτε γύρω από το δωμάτιο. 1095 00:47:59,720 --> 00:48:01,440 Μπορείτε εντελώς να γυρίσουν. 1096 00:48:01,440 --> 00:48:02,128 Ναι, ακριβώς. 1097 00:48:02,128 --> 00:48:02,627 Γύρνα. 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> Έτσι ματιά στα αριστερά σας. 1100 00:48:07,125 --> 00:48:09,875 Νομίζω ότι υπάρχει κάτι που μπορείτε να αναφερθώ σε ένα βαρέλι στο δωμάτιο. 1101 00:48:09,875 --> 00:48:11,709 >> ΕΕΣ: Πώς μπορώ να αποκτήσω το χάρτης έξω από το δρόμο; 1102 00:48:11,709 --> 00:48:12,375 COLTON: Κοιτάξτε επάνω. 1103 00:48:12,375 --> 00:48:12,980 Απλά κοιτάζω προς τα πάνω. 1104 00:48:12,980 --> 00:48:13,480 Εντάξει. 1105 00:48:13,480 --> 00:48:13,765 Ορίστε. 1106 00:48:13,765 --> 00:48:15,181 Τώρα πάμε μπροστά και μόλις γυρίσει γύρω. 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 Έτσι φαίνονται μακρύτερα στα αριστερά σας. 1109 00:48:24,620 --> 00:48:25,530 Προχώρα αριστερά. 1110 00:48:25,530 --> 00:48:26,960 Συνέχισε να ψάχνεις αριστερά. 1111 00:48:26,960 --> 00:48:27,541 Συνέχισε. 1112 00:48:27,541 --> 00:48:28,040 Ναι. 1113 00:48:28,040 --> 00:48:28,720 >> ΕΕΣ: Ω, με αυτόν τον τρόπο. 1114 00:48:28,720 --> 00:48:29,261 >> COLTON: Ναι. 1115 00:48:29,261 --> 00:48:30,999 Περπατήστε προς την κατεύθυνση αυτή με τον ελεγκτή. 1116 00:48:30,999 --> 00:48:31,540 Ορίστε. 1117 00:48:31,540 --> 00:48:32,790 Τώρα πρέπει να πω να το παραλάβετε. 1118 00:48:32,790 --> 00:48:33,360 Ορίστε. 1119 00:48:33,360 --> 00:48:34,290 Σηκωσε το. 1120 00:48:34,290 --> 00:48:35,550 Εντάξει. 1121 00:48:35,550 --> 00:48:38,286 Τώρα, ας βγούμε από αυτό το δωμάτιο. 1122 00:48:38,286 --> 00:48:42,209 Προχωρήστε και να περπατήσετε την πόρτα. 1123 00:48:42,209 --> 00:48:45,000 Έτσι θα πάμε να hold-- λέει κρατήστε πατημένο το κουμπί για να το ανοίξετε με βία. 1124 00:48:45,000 --> 00:48:46,333 Έτσι προχωρήστε και κρατήστε πατημένο το κουμπί. 1125 00:48:46,333 --> 00:48:48,250 Ναι, αναγκάζοντας το ανοίξετε. 1126 00:48:48,250 --> 00:48:48,750 Εντάξει. 1127 00:48:48,750 --> 00:48:49,410 Καλη δουλεια. 1128 00:48:49,410 --> 00:48:50,826 Τώρα είμαστε με τα πόδια έξω από το δωμάτιο. 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 Έτσι, Πάω να αφήσει τα υπόλοιπα μέχρι να σας και να δείτε τι μπορείτε να μάθετε. 1131 00:49:01,366 --> 00:49:02,865 ΕΕΣ: Δεν πάω στο σκοτεινό δωμάτιο. 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 Αα περίμενε. 1134 00:49:07,815 --> 00:49:09,314 Τώρα πρέπει να πάει κάτω από τη σκοτεινή αίθουσα; 1135 00:49:09,314 --> 00:49:10,785 Εντάξει, θα πάω πίσω [δεν ακούγεται]. 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON: Εντάξει. 1138 00:49:16,270 --> 00:49:17,560 Κάποια περισσότερα στοιχεία για να πάρει. 1139 00:49:17,560 --> 00:49:19,370 Μοιάζει με μερικά νομίσματα. 1140 00:49:19,370 --> 00:49:22,242 Αυτή είναι μια επιλογή κλειδώματος. 1141 00:49:22,242 --> 00:49:24,200 Έτσι, αν βρείτε ένα κλειδωμένο πόρτα, μπορείτε να χρησιμοποιήσετε αυτόν. 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 Φοβάσαι? 1144 00:49:28,380 --> 00:49:29,371 >> ΕΕΣ: Όχι ακόμα. 1145 00:49:29,371 --> 00:49:29,871 COLTON: OK. 1146 00:49:29,871 --> 00:49:34,850 1147 00:49:34,850 --> 00:49:35,497 >> Pretend-- ναι. 1148 00:49:35,497 --> 00:49:37,330 Απλά υποκρινόμαστε είστε στην πραγματικότητα στέκεται εκεί. 1149 00:49:37,330 --> 00:49:39,580 Κι αν πάτε around-- έχετε να το συνηθίσεις. 1150 00:49:39,580 --> 00:49:40,752 Αλλά έχει νόημα. 1151 00:49:40,752 --> 00:49:43,960 DAVID Malan: Και ενώ ΕΕΣ συνεχίζει να παίξουν, αφού θα μπορούσαμε να το κάνουμε αυτό όλη την ημέρα, 1152 00:49:43,960 --> 00:49:45,381 μπορούμε όλοι tip-toe εδώ. 1153 00:49:45,381 --> 00:49:48,130 Αλλά έχουμε δύο άλλα ζεύγη, αν θέλετε να έρθει και να παίξει. 1154 00:49:48,130 --> 00:49:49,980 Διαφορετικά, θα δούμε την επόμενη Τετάρτη. 1155 00:49:49,980 --> 00:49:51,354 Σας ευχαριστούμε για την εθελοντική μας σήμερα. 1156 00:49:51,354 --> 00:49:52,101 [Χειροκρότημα] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [ΜΟΥΣΙΚΗ - "Seinfeld ΘΕΜΑ"] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 ΟΜΙΛΗΤΗΣ 1: Λοιπόν, είμαι βάζοντας ένα νέο PL mount για. 1161 00:50:00,180 --> 00:50:01,800 Έχω αλλάξει μόνο το OLPF-- 1162 00:50:01,800 --> 00:50:03,980 >> ΟΜΙΛΗΤΗΣ 2: Λοιπόν, τι ακριβώς κάνεις; 1163 00:50:03,980 --> 00:50:07,063 >> ΟΜΙΛΗΤΗΣ 1: Λοιπόν, ο καθένας από these-- εδώ, εγώ θα σας δείξω αυτό το ένα εδώ. 1164 00:50:07,063 --> 00:50:08,690 Μπορείτε να το δείτε εδώ. 1165 00:50:08,690 --> 00:50:09,510 >> ΟΜΙΛΗΤΗΣ 3: Νομίζω ότι είμαι καλός με αυτά. 1166 00:50:09,510 --> 00:50:09,933 Θέλεις λίγο περισσότερο; 1167 00:50:09,933 --> 00:50:11,325 >> ΟΜΙΛΗΤΗΣ 4: Όχι, είμαι καλά. [Δεν ακούγεται]. 1168 00:50:11,325 --> 00:50:12,200 >> ΟΜΙΛΗΤΗΣ 3: Όχι, [δεν ακούγεται]. 1169 00:50:12,200 --> 00:50:12,700 Πάρε λίγα. 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 ΟΜΙΛΗΤΗΣ 1: Διαφορετικό χρώμα. 1172 00:50:22,290 --> 00:50:22,890 ΟΜΙΛΗΤΗΣ 2: OK. 1173 00:50:22,890 --> 00:50:26,690 ΟΜΙΛΗΤΗΣ 1: Λοιπόν, τελικά αυτό που κάνει είναι να προσαρμόζει το χρώμα of--