1 00:00:00,000 --> 00:00:02,862 >> [MUZIKO Ludante] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVID Malan: Jen CS50. 4 00:00:11,580 --> 00:00:12,880 Ĉi tiu estas la komenco de semajno naŭ. 5 00:00:12,880 --> 00:00:15,797 Kaj tiu estas kio devus estis Mr. Bulea 200th naskiĝtago. 6 00:00:15,797 --> 00:00:17,630 Do tiu estas la uloj al kiu ni aludis 7 00:00:17,630 --> 00:00:21,800 sufiĉe fojojn pri uzado Buleaj variabloj vera kaj falsa, 8 00:00:21,800 --> 00:00:22,910 1 kaj 0 kaj tia. 9 00:00:22,910 --> 00:00:25,270 Kaj tio estis Google omaĝo lin hodiaŭ. 10 00:00:25,270 --> 00:00:26,489 Li estus plenuminta 200. 11 00:00:26,489 --> 00:00:28,280 Do se vi ŝatus aliĝi nin por CS50 tagmanĝo 12 00:00:28,280 --> 00:00:30,279 rigardu la ligilon sur la kurson de afiŝinto. 13 00:00:30,279 --> 00:00:33,580 Kaj tiaj vizaĝoj kaj amikoj tiuj atendas vin tie en Kembriĝo. 14 00:00:33,580 --> 00:00:35,360 Vizaĝoj kiel tiuj atendas vin en New Haven. 15 00:00:35,360 --> 00:00:37,800 Kaj, fakte, Ken en New Haven afable faris 16 00:00:37,800 --> 00:00:41,594 kio nomiĝas vigla GIF de Eli tie ĉe freŝa lunch-- GIF estas ankoraŭ 17 00:00:41,594 --> 00:00:44,260 alia grafika dosierformato, kun kiu vi estas familiar-- ke 18 00:00:44,260 --> 00:00:46,300 aspektas iom io tiamaniere. 19 00:00:46,300 --> 00:00:48,179 Do nur sekvenco of-- OK. 20 00:00:48,179 --> 00:00:49,720 Neniu tie en Kembriĝo ridas. 21 00:00:49,720 --> 00:00:51,720 Sed en New Haven, ĉi Estas vere amuza, ĉu ne? 22 00:00:51,720 --> 00:00:52,350 Bone. 23 00:00:52,350 --> 00:00:53,940 >> Do aliĝi nin tien. 24 00:00:53,940 --> 00:00:55,900 Ĉi tie ĉe Harvard, specife, ĉi tiu merkredo, 25 00:00:55,900 --> 00:00:59,480 se vi estas duajarulino aŭ unuajarulo even-- aŭ eĉ junior-- pensadon de farado 26 00:00:59,480 --> 00:01:01,563 ŝaltilo en komputilo scienco, scias ke ni havas 27 00:01:01,563 --> 00:01:04,440 Esti CS konsilante justa tiun Merkredo, malmulta post klaso 28 00:01:04,440 --> 00:01:08,040 je 4:00 ptm en la komputilo scienco konstruaĵo Maxwell Dworkin. 29 00:01:08,040 --> 00:01:11,890 Ni metos tion en la kurso retejo de morgaŭ, ankaŭ. 30 00:01:11,890 --> 00:01:14,430 Benjetoj, oni diras, estos servita. 31 00:01:14,430 --> 00:01:15,180 >> Bone. 32 00:01:15,180 --> 00:01:18,790 Komikeco story-- mi ŝovas proksimume sur la Interreto, 33 00:01:18,790 --> 00:01:23,575 kaj mi trovis kelkajn malnovajn arkivojn de miaj iamaj retejo. 34 00:01:23,575 --> 00:01:25,950 Kaj ĝi rezultas fjordon ĉirkaŭ ĉi tempo, ĝi ŝajnas tre oportuna 35 00:01:25,950 --> 00:01:28,910 ekde mi konkludas ke la UC elektoj intencas ilaro supre denove. 36 00:01:28,910 --> 00:01:32,230 Do mi kuris por UC, perdis mizere. 37 00:01:32,230 --> 00:01:34,770 Kaj eble tiu estis parte kial. 38 00:01:34,770 --> 00:01:37,600 Do tio mia retpaĝaro tiutempe. 39 00:01:37,600 --> 00:01:40,477 Ial, mi pensis ke estis bona ideo, antaŭ diranta homojn 40 00:01:40,477 --> 00:01:43,310 kion mia platformo estis kaj kial ili devus voĉdoni por mi, ke ili havas 41 00:01:43,310 --> 00:01:47,770 musklaki eniri eltrovi ke informoj, kiu en retrospekta estas 42 00:01:47,770 --> 00:01:48,660 speco de creepy. 43 00:01:48,660 --> 00:01:50,910 Mi ne vere scias kion tio estis. 44 00:01:50,910 --> 00:01:53,140 >> Sed ĝi certe ne helpi mian kampanjon. 45 00:01:53,140 --> 00:01:56,874 Mi ankaŭ trovis, ke altranga year-- mi havis tiun Muppet kalendaro. 46 00:01:56,874 --> 00:01:58,540 Muppets estis speco de modajn reen tiam. 47 00:01:58,540 --> 00:01:59,456 Aŭ eble ili ne estis. 48 00:01:59,456 --> 00:02:01,790 Mi havis Muppet kalendaro tiutempe. 49 00:02:01,790 --> 00:02:04,860 Kaj mi pensis ke estus mojose nomon mia komputilo sur Harvard reto 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu. 51 00:02:07,460 --> 00:02:10,370 Tiutempe, ĉiuj havis unike identigebla gastiganto nomojn. 52 00:02:10,370 --> 00:02:13,150 Kaj vi povus elekti iun vanteco nomo anstataŭ via propra nomo. 53 00:02:13,150 --> 00:02:15,580 Kaj mi iris kun Ranulo ial. 54 00:02:15,580 --> 00:02:19,040 >> Kaj tiam mi started-- mi pasigis multe el tempo klakanta tra tiuj ligoj 55 00:02:19,040 --> 00:02:20,280 ĉimatene. 56 00:02:20,280 --> 00:02:24,690 Kaj cxi tio estis mia pri paĝo, kiu nun ia ŝajnas adorables. 57 00:02:24,690 --> 00:02:28,210 Sed ankaŭ atestas nur kiom for teknologio venis. 58 00:02:28,210 --> 00:02:30,310 Mi volas diri, reen en la tago, a 486 estis io. 59 00:02:30,310 --> 00:02:34,090 Tiuj tagoj, ĝi estas super, super, súper malrapida kaj bone malpli 60 00:02:34,090 --> 00:02:36,216 ol vi havu en via propraj poŝoj tiuj tagoj. 61 00:02:36,216 --> 00:02:38,465 Ekzistas pli sur tie ke estis eĉ pli hontinda. 62 00:02:38,465 --> 00:02:39,770 Do mi lasos ĝin en tiu. 63 00:02:39,770 --> 00:02:42,640 Sed tio estis mia unua incursión en web-- ho, ne. 64 00:02:42,640 --> 00:02:43,180 Tio ne estis. 65 00:02:43,180 --> 00:02:47,000 Mia unua reala incursión en retejo programado Estis ĉi tiu retejo, kiun mi ĵus forgesis. 66 00:02:47,000 --> 00:02:50,620 En iu punkto, mi lernis kiel fari ripetemajn fono bildoj. 67 00:02:50,620 --> 00:02:55,260 Kaj tial mi trovis ĉi kahelaro efika, kiel hockey ludanto, futbalo, kaj golfo 68 00:02:55,260 --> 00:02:58,040 pilko, aŭ kio ajn tio estas por la Frosh IMs retejo. 69 00:02:58,040 --> 00:03:01,390 Kaj tio estis vere, vere la unua reta projekto mi prenis on-- 70 00:03:01,390 --> 00:03:03,880 Mi pensas eble duajarulina jaro, junior year-- 71 00:03:03,880 --> 00:03:07,622 post preni CS50 kaj CS51, unu de la komuna sekvaĵo sur klasoj. 72 00:03:07,622 --> 00:03:09,330 Mi rimarkis en rigardanta tra la arkivoj 73 00:03:09,330 --> 00:03:12,150 ke unu el miaj posteuloj kaj amikoj, Lee, ia ŝanĝita 74 00:03:12,150 --> 00:03:13,480 la aŭtorrajto por si. 75 00:03:13,480 --> 00:03:17,520 Sed tio estis ja iu kiu Mi devus posedi la embarason al. 76 00:03:17,520 --> 00:03:19,370 Sed tiutempe, tiu estis la unua retpaĝaro, 77 00:03:19,370 --> 00:03:22,220 kiel mi diris antaŭ kelkaj semajnoj, per kiu unuajarulo povis 78 00:03:22,220 --> 00:03:24,350 registriĝu por enurbaj sportoj ĉi tie. 79 00:03:24,350 --> 00:03:27,950 Kaj tiel rezultas ke fonbildojn 80 00:03:27,950 --> 00:03:29,530 kiel kiuj ne estas tiel bona ideo. 81 00:03:29,530 --> 00:03:31,840 Sed la retejo estis nova, kaj ni cxiuj spertis. 82 00:03:31,840 --> 00:03:34,310 Kaj jen kion mi ŝajne faris siatempe. 83 00:03:34,310 --> 00:03:34,810 Bone. 84 00:03:34,810 --> 00:03:38,020 Do sen pli enkonduko, ni ŝanĝi ilaroj hodiaŭ doni vi, vere, 85 00:03:38,020 --> 00:03:42,250 la fina peco kiu vi povus trovi speciale utila por fina projektoj 86 00:03:42,250 --> 00:03:44,780 sed ankaŭ ke komencos fari la tutan mondon larĝa araneaĵo 87 00:03:44,780 --> 00:03:46,680 sentas iomete pli komprenebla. 88 00:03:46,680 --> 00:03:49,460 Efektive, ni tuj enkondukos pli programlingvo 89 00:03:49,460 --> 00:03:52,474 nomata Ĝavoskripto tio simila kaj malsamaj en malsamaj manieroj 90 00:03:52,474 --> 00:03:54,140 de lingvoj ni rigardis tiom. 91 00:03:54,140 --> 00:03:55,807 >> Do C, revokon, estas ĉi kompilita lingvo. 92 00:03:55,807 --> 00:03:57,473 Vi devas kuri ĝin tra tradukilo. 93 00:03:57,473 --> 00:03:59,810 Vi ricevas fontkodon por kontesti kodo, aŭ nuloj kaj aĵoj. 94 00:03:59,810 --> 00:04:03,000 Kaj tiuj estas nuloj kaj ke via CPU, Central Processing Unit, 95 00:04:03,000 --> 00:04:04,360 reale kompreni. 96 00:04:04,360 --> 00:04:06,610 PHP, kontraste, estas ne tradukita lingvo. 97 00:04:06,610 --> 00:04:08,772 Estas kio? 98 00:04:08,772 --> 00:04:09,980 Estas interpretita lingvo. 99 00:04:09,980 --> 00:04:11,750 Do ekzistas iu programo nomita interpretisto ke 100 00:04:11,750 --> 00:04:13,708 devas legi it-- supro al fundo, maldekstre right-- 101 00:04:13,708 --> 00:04:16,519 kaj elkompreni ĉiuj via sintakso faras kaj signifas, 102 00:04:16,519 --> 00:04:20,200 ĉu ĝi estas buklo aŭ kondiĉo aŭ ajna alia nombro de programado 103 00:04:20,200 --> 00:04:20,740 konstruas. 104 00:04:20,740 --> 00:04:22,210 Do jen interpretita lingvo. 105 00:04:22,210 --> 00:04:23,910 >> Tiam ni enkondukis HTML. 106 00:04:23,910 --> 00:04:26,440 Kaj HTML ne estas eĉ programlingvo. 107 00:04:26,440 --> 00:04:28,110 Ni nomus ĝin kio? 108 00:04:28,110 --> 00:04:31,650 A markaĵojn, kiuj estas nur ia kaprico maniero diri tio 109 00:04:31,650 --> 00:04:35,820 ne havas ilojn kiel ni vidis eĉ reen en la tago de Scratch. 110 00:04:35,820 --> 00:04:36,720 Ekzistas neniuj cikloj. 111 00:04:36,720 --> 00:04:37,920 Ne estas kondiĉoj. 112 00:04:37,920 --> 00:04:40,820 Ĝi vere estas lingvo pri markante vian datumon 113 00:04:40,820 --> 00:04:43,620 kaj formati ĝin aŭ strukturi ŝin iel. 114 00:04:43,620 --> 00:04:46,147 >> CSS, dume, simile ne programlingvo. 115 00:04:46,147 --> 00:04:47,730 Ĝi estas eĉ pli estetike orientita. 116 00:04:47,730 --> 00:04:50,470 Kaj ĝi permesas ordigi el fajne agordi aĵoj kiel tiparo grandeco kaj koloroj 117 00:04:50,470 --> 00:04:51,850 kaj lokigo kaj ĉiuj de tiu. 118 00:04:51,850 --> 00:04:52,370 Tiam ni havis 119 00:04:52,370 --> 00:04:53,160 >> SQL. 120 00:04:53,160 --> 00:04:56,010 Do SQL estas efektive programado lingvo iusence, 121 00:04:56,010 --> 00:04:59,330 kvankam adaptebla specife al datumbazoj. 122 00:04:59,330 --> 00:05:03,347 Sed eĉ se ni nur enkonduki vin al elekti kaj enmeti kaj forigi kaj ĝisdatigi 123 00:05:03,347 --> 00:05:05,430 kaj paro de aliaj, rezultas vi povas reale 124 00:05:05,430 --> 00:05:07,380 skribi funkciojn aŭ proceduroj, kiel ili estas 125 00:05:07,380 --> 00:05:11,270 nomata, en SQL aspektantaj kaj agi tute kiel PHP kaj C funkcioj. 126 00:05:11,270 --> 00:05:12,390 Do sciu, ke tiuj ekzistas. 127 00:05:12,390 --> 00:05:15,348 Sed ni ne eĉ tedas kun ili kiel ni ĵus skrapi la surfaco ĉi tie. 128 00:05:15,348 --> 00:05:18,600 Kaj tiam JavaScript, la lasta el niajn lingvojn formale enkondukita. 129 00:05:18,600 --> 00:05:21,029 Do JavaScript, ankaŭ, estas interpretita lingvo. 130 00:05:21,029 --> 00:05:23,070 Kaj tiuj familiaraj, do vi volas distingi ĝin 131 00:05:23,070 --> 00:05:26,960 kun iuj karakterizaj el ambaŭ C kaj PHP? 132 00:05:26,960 --> 00:05:28,300 Kio faras malsama? 133 00:05:28,300 --> 00:05:29,650 >> Spektantaro: Ĝi ne estas kompilita. 134 00:05:29,650 --> 00:05:29,930 >> DAVID Malan: Diru denove? 135 00:05:29,930 --> 00:05:31,200 >> Spektantaro: Ĝi ne estas kompilita. 136 00:05:31,200 --> 00:05:31,930 >> DAVID Malan: Ne kompilita. 137 00:05:31,930 --> 00:05:33,450 Do, ankaŭ, estas interpretita. 138 00:05:33,450 --> 00:05:34,760 Do ĝi ne estas kompilita. 139 00:05:34,760 --> 00:05:37,210 Sed kiu faras ĝin iom kiel PHP. 140 00:05:37,210 --> 00:05:39,545 Sed estas ankoraŭ malsama PHP en iu okulfrapa maniero, 141 00:05:39,545 --> 00:05:40,920 almenaŭ en la vojo ni uzos ĝin. 142 00:05:40,920 --> 00:05:41,205 Yeah? 143 00:05:41,205 --> 00:05:41,940 >> Spektantaro: Ĝi kuras kliento-flanko. 144 00:05:41,940 --> 00:05:44,000 >> DAVID Malan: ĝi kuras kliento-flanko, kutime. 145 00:05:44,000 --> 00:05:47,190 Tio ja la karakterizajn karakteriza por ni nun. 146 00:05:47,190 --> 00:05:51,170 C estis servilo-flanko en la senco ke ni faris ĉion en CS50 IDE. 147 00:05:51,170 --> 00:05:53,630 PHP ĝis nun estis servilo-flanko mezuro 148 00:05:53,630 --> 00:05:56,550 kiel ĝi, ankaŭ, ricevas interpreted-- Ne kompilita, sed interpreted-- 149 00:05:56,550 --> 00:06:00,690 interne CS50 IDE, kiu kompreneble estas nur servilo aŭ serviloj en la nubo. 150 00:06:00,690 --> 00:06:03,070 >> Sed Ĝavoskripto, eĉ kvankam vi vi tuj 151 00:06:03,070 --> 00:06:07,000 komenci skribi ĝin por, ni diru, pset ok kaj eble fina projects-- vi estas 152 00:06:07,000 --> 00:06:09,620 tuj dekstre en CS50 IDE kaj savi ĝin 153 00:06:09,620 --> 00:06:14,760 en dosierojn ene CS50 IDE, CS50 IDE kaj, siavice, la nubo serviloj 154 00:06:14,760 --> 00:06:19,160 sur kiu ĝi estas gastigita, ne tuj interpreti aŭ ekzekuti via kodo. 155 00:06:19,160 --> 00:06:23,880 Prefere, ĝi tuj estos sendita en senŝanĝa formo malsupreniris al la retumilo. 156 00:06:23,880 --> 00:06:26,990 Kaj ĝi estas tiam iranta esti IE aŭ Chrome aŭ Firefox aŭ Safaro 157 00:06:26,990 --> 00:06:30,697 aŭ kion ajn tio vere interpretas ĝi, supre sube, maldekstre dekstren. 158 00:06:30,697 --> 00:06:32,780 Do la ŝlosilo karakteriza karakteriza por hodiaŭ 159 00:06:32,780 --> 00:06:36,110 estas ke JavaScript estas kliento-flanko kaj PHP, ekzemple, 160 00:06:36,110 --> 00:06:37,690 estis servanto flanko. 161 00:06:37,690 --> 00:06:40,920 Nun, tiu havas interesajn implicojn por, kiel, intelekta proprieto 162 00:06:40,920 --> 00:06:42,660 kaj kiu povas vere vidi vian kodon. 163 00:06:42,660 --> 00:06:44,860 Kaj efektive, vi povas iri sur la retejo kaj vidi plej 164 00:06:44,860 --> 00:06:47,530 ajna kodo kiu iu havas skribita en JavaScript. 165 00:06:47,530 --> 00:06:50,230 Foje estas legeblaj, Foje estas sekur. 166 00:06:50,230 --> 00:06:52,550 Sed pli en kiuj en konvena tempo. 167 00:06:52,550 --> 00:06:57,530 >> Do Ĝavoskripto, bonguste sufiĉa, estas Super simila, sintakse, al C. 168 00:06:57,530 --> 00:06:59,364 Kaj multe kiel PHP, ne estas ĉefa funkcio. 169 00:06:59,364 --> 00:07:02,113 Se vi volas komenci skribon JavaScript kodo, kiel vi vidos hodiaŭ, 170 00:07:02,113 --> 00:07:03,270 vi simple komenci skribi ĝin. 171 00:07:03,270 --> 00:07:06,910 Sed estas, vi vidos, aparte utila en la kunteksto de foliumiloj. 172 00:07:06,910 --> 00:07:09,820 Tamen, mia malgranda disclaimer-- kutime earlier-- 173 00:07:09,820 --> 00:07:13,790 estis diri ke vi povas pli hodiaŭ uzo Javascript servilo-flanko 174 00:07:13,790 --> 00:07:17,655 uzante ornama kadro nomita Node.js ke iuj de CS50 propra aplikoj 175 00:07:17,655 --> 00:07:18,280 skribitajn en. 176 00:07:18,280 --> 00:07:20,640 Kontrolu 50 reale uzas Node.js. 177 00:07:20,640 --> 00:07:24,140 Sed ni tuj enfokusigi Ĝavoskripto kliento-flanko tie sur eksteren. 178 00:07:24,140 --> 00:07:26,750 >> Do tie estas aro de kondiĉoj en PHP. 179 00:07:26,750 --> 00:07:29,350 Pardonu, in-- vere, ke deklaro, tro estas korekta. 180 00:07:29,350 --> 00:07:32,200 Ĉi tie estas ankaŭ aro de kondiĉoj en JavaScript. 181 00:07:32,200 --> 00:07:35,560 Sintakse, ĝi estas identa al C kaj PHP. 182 00:07:35,560 --> 00:07:39,040 Mr. Bulea esprimoj estas, simile, sintakse 183 00:07:39,040 --> 00:07:41,190 identa al ambaŭ C kaj PHP. 184 00:07:41,190 --> 00:07:44,100 Ni ankaŭ havas ŝaltilojn en Ĝavoskripto kiuj aspektas identaj. 185 00:07:44,100 --> 00:07:46,350 Ni havas por bukloj kiuj estas strukturita idente, 186 00:07:46,350 --> 00:07:48,140 dum cikloj, fari dum cikloj. 187 00:07:48,140 --> 00:07:49,980 >> Ĉi tiu estas iom malsama. 188 00:07:49,980 --> 00:07:53,120 PHP havis la por ĉiu konstrukcio ke vi povus esti uzanta 189 00:07:53,120 --> 00:07:55,320 aŭ uzos en pset sep, eble. 190 00:07:55,320 --> 00:07:59,460 Javascript havas tiu speciala versio de cxar kie laŭvorte diri ion 191 00:07:59,460 --> 00:08:03,864 kiel ŝanĝiĝema ŝlosilo en celo, kiu estas tre konciza maniero diri, 192 00:08:03,864 --> 00:08:06,780 se mi akiris object-- kaj ni paroli pri tiuj denove en moment-- 193 00:08:06,780 --> 00:08:10,370 kaj mi volas persisti super ĉiuj de la ŝlosilo valoro paroj ene, 194 00:08:10,370 --> 00:08:13,620 Mi ne devas eltrovi kiel numere indekso ilin per nulo, unu, 195 00:08:13,620 --> 00:08:14,580 du, tri. 196 00:08:14,580 --> 00:08:15,900 >> Mi povas laŭvorte diras tion. 197 00:08:15,900 --> 00:08:20,740 Kaj en ĉiu ripeto, Ĝavoskripto por mi ĝisdatigos la variablo ŝlosilo 198 00:08:20,740 --> 00:08:24,810 esti la unua klavo, poste la sekva ŝlosilo, tiam la sekva ŝlosilo, tiam la sekva ŝlosilo, 199 00:08:24,810 --> 00:08:25,510 kaj tiel plu. 200 00:08:25,510 --> 00:08:30,000 Kaj mi povas akiri ĉe ĝia valoro traktante objekto en JavaScript, kiel ni vidos, 201 00:08:30,000 --> 00:08:32,584 kvazaŭ ĝi estas asocieca tabelo en PHP. 202 00:08:32,584 --> 00:08:35,750 Efektive, se vi fine envolvita via atentas ĉirkaŭ kion asocieca tabelo estas 203 00:08:35,750 --> 00:08:40,140 en PHP, vi povas pensi pri tio nun kiel identa al objekto en JavaScript. 204 00:08:40,140 --> 00:08:42,030 Sed tio estas iom de simplificación. 205 00:08:42,030 --> 00:08:47,230 >> Arrays rigardu, bele sufiĉe, identaj al PHP krom unu karaktero. 206 00:08:47,230 --> 00:08:51,425 Tie estas unu afero mankas tie ke ni vidis pasintsemajne per PHP. 207 00:08:51,425 --> 00:08:52,050 Kio preterlasita? 208 00:08:52,050 --> 00:08:53,310 Yeah? 209 00:08:53,310 --> 00:08:54,090 Neniu dolaro signo. 210 00:08:54,090 --> 00:08:56,240 Do ni estas reen al pli normala mondo kie 211 00:08:56,240 --> 00:08:58,050 variabloj ne havas dolaro signoj. 212 00:08:58,050 --> 00:09:00,810 Sed vi do prefikson ilin kun var, tipe. 213 00:09:00,810 --> 00:09:02,230 Kaj var signifas variablo. 214 00:09:02,230 --> 00:09:06,440 Kaj multe kiel PHP estas loze typed-- whereby ekzistas tipoj, 215 00:09:06,440 --> 00:09:10,120 estas nombroj kaj ĉenoj kaj flosoj kaj tiel forth-- 216 00:09:10,120 --> 00:09:11,570 Ĝavoskripto simile havas tipojn. 217 00:09:11,570 --> 00:09:15,470 Sed gxi loze entajpis ke ni la programistoj ne devas specifi ilin. 218 00:09:15,470 --> 00:09:18,980 Ni simple devas konscii ke malsamaj tipoj ekzistas. 219 00:09:18,980 --> 00:09:21,690 >> Variabloj, meanwhile-- jen kiel ni povus deklari "saluton, mondo" 220 00:09:21,690 --> 00:09:22,230 kiel linio. 221 00:09:22,230 --> 00:09:24,890 Rimarku ke estas identaj al PHP sed neniu dolara signo. 222 00:09:24,890 --> 00:09:27,120 Kaj tio estas io ni komencas vidi pli hodiaŭ, 223 00:09:27,120 --> 00:09:30,990 whereby vi havas objekton kun klavoj kaj valoroj. 224 00:09:30,990 --> 00:09:32,990 Kaj se vi volas provi konkludi el lastaj week-- 225 00:09:32,990 --> 00:09:34,730 la sintakso estas iom malsama. 226 00:09:34,730 --> 00:09:39,740 Sed iom prudento check-- kiom klavoj signifas tiu objekto ŝajnas havi? 227 00:09:39,740 --> 00:09:40,850 Do mi vidas kvar. 228 00:09:40,850 --> 00:09:43,560 Mi vidas du. 229 00:09:43,560 --> 00:09:44,680 >> Do estas vere du. 230 00:09:44,680 --> 00:09:47,260 Do tiu estas kolekto de du ŝlosilaj valoro paroj. 231 00:09:47,260 --> 00:09:49,820 La ŝlosilo estas simbolo kies valoro estas FB. 232 00:09:49,820 --> 00:09:52,620 La ŝlosilo estas prezo kies valoro estas 101,53. 233 00:09:52,620 --> 00:09:54,230 Do tiuj estas du ŝlosilaj valoro paroj. 234 00:09:54,230 --> 00:09:58,120 Kaj memoru, PHP-- kaj jen denove nur ia sintaksan diferencon. 235 00:09:58,120 --> 00:10:00,170 Ĝi ne estas ĉiuj ke intelekte interesa. 236 00:10:00,170 --> 00:10:04,610 PHP eble skribita ĉi sama aĵo kiel follows-- citaĵo, egalaj. 237 00:10:04,610 --> 00:10:06,730 Kaj mi ŝanĝos tiujn al rektaj krampoj. 238 00:10:06,730 --> 00:10:11,240 Kaj tiam mi ŝanĝos tion al kotizita vorto "prezo." 239 00:10:11,240 --> 00:10:12,500 Kaj tiam mi ne uzas dupunkto. 240 00:10:12,500 --> 00:10:15,060 Kion mi uzas lasta semajno? 241 00:10:15,060 --> 00:10:18,290 Jes, la egalsigno arrow funky skribmaniero. 242 00:10:18,290 --> 00:10:21,470 >> Kaj poste mi faris la samon ĉi tie. 243 00:10:21,470 --> 00:10:23,580 Sama afero ĉi tie. 244 00:10:23,580 --> 00:10:24,240 Kaj jen ĉio. 245 00:10:24,240 --> 00:10:27,752 Do ĝi estas bone se tiu havas ne vere enprofundigita en la memoro nur 246 00:10:27,752 --> 00:10:29,960 tamen, cxar estas vere intelekte seninteresa. 247 00:10:29,960 --> 00:10:31,660 Estas nur sintaksa diferencojn. 248 00:10:31,660 --> 00:10:33,230 Sed la ideoj estas precize la sama. 249 00:10:33,230 --> 00:10:35,910 Ene de tiu variablo citaĵo en JavaScript 250 00:10:35,910 --> 00:10:39,020 estas kolekto de ŝlosila valoro paroj, unu el kiu estas simbolo, el kiuj unu 251 00:10:39,020 --> 00:10:39,690 estas prezo. 252 00:10:39,690 --> 00:10:42,340 Kaj mi povas akiri tiujn valorojn kun la jenan sintakson. 253 00:10:42,340 --> 00:10:46,280 Ĝuste kiel en PHP, mi povis fari ion kiel lasi 254 00:10:46,280 --> 00:10:48,590 mi faros ĉi skatolo iom pli granda. 255 00:10:48,590 --> 00:10:52,750 Ĝuste kiel en PHP, mi povis fari this-- ho, Dammit. 256 00:10:52,750 --> 00:10:53,250 Venu. 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> Samkiel en PHP-- OK, Ni nur uzu la anoncisto notoj. 259 00:11:00,800 --> 00:11:06,010 Ĝuste kiel en PHP, mi povas fari $ citaĵo $ citaĵo ["simbolo"], 260 00:11:06,010 --> 00:11:08,860 kaj tiu ricevos min la valoro de "simbolo". 261 00:11:08,860 --> 00:11:12,800 En JavaScript, ĝi tuj estu identaj, per kiu mi povas simple fari tion. 262 00:11:12,800 --> 00:11:14,850 La nura afero kiu estas Mankas la dolaro signo. 263 00:11:14,850 --> 00:11:17,470 >> Do bele sufiĉe, do ekzistas Ne ĉiuj kiuj multe novaj sintakso. 264 00:11:17,470 --> 00:11:21,025 Do kio hodiaŭ nin okupas de, vere, estas iuj de la ideoj kaj la aplikoj. 265 00:11:21,025 --> 00:11:22,900 Kaj la unua tia apliko por ke vi 266 00:11:22,900 --> 00:11:26,090 vidis se vi plonĝis en pset sep jam estas ĉi sintakso. 267 00:11:26,090 --> 00:11:28,980 Do en pset sep, se vi havas vidis aŭ ne vidis ĝin ankoraŭ, 268 00:11:28,980 --> 00:11:33,570 scias ke tie estas dosiero kiu ni donas vi nomis config.json-- Ĝavoskripto 269 00:11:33,570 --> 00:11:34,661 Objekto Skribmaniero. 270 00:11:34,661 --> 00:11:35,160 Kial? 271 00:11:35,160 --> 00:11:39,540 Ni volis povi provizi vin kun ŝablono kun iuj ŝlosilaj valoro paroj. 272 00:11:39,540 --> 00:11:44,290 Ni volis povi doni vin listo de la gastiganto, la nomo de la servilo. 273 00:11:44,290 --> 00:11:46,710 Ni volis doni al vi lokokupilo por via salutnomo 274 00:11:46,710 --> 00:11:48,210 kaj lokokupilo por via pasvorto. 275 00:11:48,210 --> 00:11:49,410 Se vi ankoraŭ ne vidis ĉi tamen ne maltrankvili. 276 00:11:49,410 --> 00:11:51,340 Pli sur tiu en pset sep [? spec. ?] Kaj tiam, 277 00:11:51,340 --> 00:11:53,173 evidente, ni volas vin plenigi la al-dos 278 00:11:53,173 --> 00:11:55,310 ĉar kiam vi ensalutas en CS50 IDE, ĉiu el vi 279 00:11:55,310 --> 00:11:57,630 havas vian propran salutnomon kaj pasvorton. 280 00:11:57,630 --> 00:12:00,910 >> Do ni povus uzis duono dekduo aŭ pli malsamaj formatoj de arkivo. 281 00:12:00,910 --> 00:12:02,940 Ni povis esti uzinta .txt dosieron. 282 00:12:02,940 --> 00:12:04,570 Ni povus uzi CSV-dosiero. 283 00:12:04,570 --> 00:12:06,745 Ni povis jam uzis INI-dosiero, XML-dosiero, 284 00:12:06,745 --> 00:12:09,370 tuta amaso pli akronimoj ke vi eble ne jam aŭdis. 285 00:12:09,370 --> 00:12:11,244 Estas ia arbitra fine de la tago. 286 00:12:11,244 --> 00:12:16,030 Sed súper populara tiuj tagoj estas teksto formato nomita JSON-- JavaScript Objekto 287 00:12:16,030 --> 00:12:18,460 Notation-- kiu similas ĉi. 288 00:12:18,460 --> 00:12:20,890 Estas iom kripta, sed rimarki la mastrojn. 289 00:12:20,890 --> 00:12:24,180 Vi komencas kun malferma krispa streĉa, kaj vi finas kun la sama. 290 00:12:24,180 --> 00:12:26,550 Ene de tiu estas io. 291 00:12:26,550 --> 00:12:27,920 Ĝi estas ŝlosilo-valoro paro. 292 00:12:27,920 --> 00:12:30,580 Do tiu estas celo kiun mi rigardante sur la ekrano tie 293 00:12:30,580 --> 00:12:33,690 kiu havas ŝlosilon, kiu havas unu valoron. 294 00:12:33,690 --> 00:12:37,610 Kaj ĝuste infiriendo bazita sur la antaŭa modelo, kio estas la ŝlosilo tie? 295 00:12:37,610 --> 00:12:39,790 Datumbazo, la afero Maldekstre de la dupunkto. 296 00:12:39,790 --> 00:12:43,500 >> Nun, la valoro hazarde estas oblo linioj ĉi tempo. 297 00:12:43,500 --> 00:12:46,760 Sed la valoro startas kun krispa stegi kaj finiĝas kun buklaj krampoj. 298 00:12:46,760 --> 00:12:49,480 Do kion vi proponas estas la tipo de la valoro de datumbazo? 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 Vortaro aŭ, simple pli koncize, objekto. 301 00:12:54,670 --> 00:12:55,170 Dekstra? 302 00:12:55,170 --> 00:13:00,010 Tiu estas speco de datumstrukturo ke povas uzi aliajn strukturojn ene mem. 303 00:13:00,010 --> 00:13:02,750 Do se tiu tuta afero ni estas nomante al object-- kaj objekto 304 00:13:02,750 --> 00:13:07,101 estas nur aro de ŝlosila valoro pairs-- la valoro de datumbazo mem estas objekto. 305 00:13:07,101 --> 00:13:10,350 La valoro de datumbazo havas tutan faskon de ŝlosila valoro paroj, kies unua 306 00:13:10,350 --> 00:13:13,130 Estas gastiganto, do nomi, tiam uzantonomo, tiam pasvorton 307 00:13:13,130 --> 00:13:17,550 ĉiu el kies valoroj, dume, estas nur enuiga ĉenon en citiloj. 308 00:13:17,550 --> 00:13:19,770 >> Do eĉ se tio ne super klara nur ankoraŭ, 309 00:13:19,770 --> 00:13:22,740 scias ke tio estas nur normo, sufiĉe enuiga vojo 310 00:13:22,740 --> 00:13:25,190 de stoki datumojn en norma formato. 311 00:13:25,190 --> 00:13:27,700 Sed la komuna erarojn vi povus fari, eĉ en pset sep, 312 00:13:27,700 --> 00:13:32,120 estas iom stulta aferoj, kiel se hazarde preterlasas la komo tie. 313 00:13:32,120 --> 00:13:34,900 Tio tuj rezultos en la dosiero ne nepre esti legebla. 314 00:13:34,900 --> 00:13:38,191 Se vi akcidente preterlasi aferoj kiel la citiloj, ĝi ne tuj estos legebla. 315 00:13:38,191 --> 00:13:41,654 Do estas bela nitpicky dosierformato, sed ĝi estas unu ke estas super komuna. 316 00:13:41,654 --> 00:13:44,820 Kaj ni hazarde uzas ĝin, kvankam vi ne uzu ajnan JavaScript alie, 317 00:13:44,820 --> 00:13:46,330 en pset sep. 318 00:13:46,330 --> 00:13:46,860 >> Bone. 319 00:13:46,860 --> 00:13:48,110 Do memoru tiun bildon. 320 00:13:48,110 --> 00:13:51,657 Ni parolis pri, en HTML, ke la kodo povus aspekti ĉi. 321 00:13:51,657 --> 00:13:54,740 Jen la hiperteksta Markup Language [Inaudible] por nur "saluton, mondo." 322 00:13:54,740 --> 00:13:57,570 Sed tiam ni proponis Momento reen ke se ĝi helpas, 323 00:13:57,570 --> 00:14:00,210 Vi eble volas komenci pensi pri tiu jam kiel arbo. 324 00:14:00,210 --> 00:14:03,730 Fakte, la deŝovon ke ni uzi nur por legibilidad kalkaj 325 00:14:03,730 --> 00:14:05,610 aŭ por stilo kalkaj sur maldekstren povas ia 326 00:14:05,610 --> 00:14:10,040 traduki en tiu arbo, kie vi havas iun specialan radiko nodo ke ni 327 00:14:10,040 --> 00:14:16,860 genéricamente nomas dokumento, sub kiu estas la radiko HTML elemento aŭ etikedo, HTML, 328 00:14:16,860 --> 00:14:19,980 kiu tiam havas du infanoj, kapo kaj korpo. 329 00:14:19,980 --> 00:14:21,750 >> Kaj tiam en ĝirado, kapo havas titolon. 330 00:14:21,750 --> 00:14:23,440 Kaj titolo havas tekston valoro. 331 00:14:23,440 --> 00:14:26,130 Kaj korpo simile havas tekston valoro. 332 00:14:26,130 --> 00:14:29,220 Do se vi estas komforta diraĵo ke jes, vi povus preni ĉi HTML 333 00:14:29,220 --> 00:14:32,080 kaj desegni bildon kiel tion, la dekstra flanko 334 00:14:32,080 --> 00:14:35,910 Estas bela mensa modelo ĉar nun ke ni havas JavaScript, programado 335 00:14:35,910 --> 00:14:39,960 lingvo kiu retumiloj povas ekzekuti kaj interpreti por vi, 336 00:14:39,960 --> 00:14:42,690 ĝi rezultas ke kion ni estas farontaj en kodo 337 00:14:42,690 --> 00:14:45,320 estas komencos manipuli ĉi arbo strukturo en memoro. 338 00:14:45,320 --> 00:14:47,070 Ni ne devas konstrui la arbon en memoro. 339 00:14:47,070 --> 00:14:49,880 Ni ne devas fari ian pset kvin-stilo datumstrukturo 340 00:14:49,880 --> 00:14:50,650 komplekseco. 341 00:14:50,650 --> 00:14:54,610 La retumilo, bele sufiĉe, sur interpreti HTML supre sube, 342 00:14:54,610 --> 00:14:58,600 maldekstra aŭ dekstra, estas laŭvorte tuj transdoni nin la ekvivalento de puntero 343 00:14:58,600 --> 00:15:00,840 al tiu tuta arbo senpage. 344 00:15:00,840 --> 00:15:02,150 Ĝi faras ĉiu el la laborego. 345 00:15:02,150 --> 00:15:05,520 Tion Mozilla kaj Apple kaj aliaj faris por ni. 346 00:15:05,520 --> 00:15:09,400 >> Kaj kun JavaScript ni tuj povos kontroli kaj ŝanĝi kaj fari 347 00:15:09,400 --> 00:15:12,910 interesaj aferoj tiu arbo, alie konata 348 00:15:12,910 --> 00:15:15,880 kiel DOM aŭ Dokumento Object Model. 349 00:15:15,880 --> 00:15:17,110 Kiajn aferojn? 350 00:15:17,110 --> 00:15:19,030 Nu, Ĝi rezultas ke en JavaScript, ekzistas 351 00:15:19,030 --> 00:15:22,800 ĉi lavbutiko listo de okazaĵoj kiuj povas okazi. 352 00:15:22,800 --> 00:15:26,330 Kaj ni ne vere uzis tiun vorto ekde semajno nulo kaj pset 353 00:15:26,330 --> 00:15:28,240 nulo kiam ni parolis pri Scratch. 354 00:15:28,240 --> 00:15:31,390 Plejparto de vi verŝajne ne uzis evento en via Scratch projekto. 355 00:15:31,390 --> 00:15:33,850 Sed vi eble memoras la simpla Marko Polo 356 00:15:33,850 --> 00:15:36,760 Ekzemple, kie ni havis du sprites, unu el kiuj diris, Marco. 357 00:15:36,760 --> 00:15:40,180 La alia el kiuj tiam, sur aŭskultado kaj aŭdante ke evento, diris, Polo. 358 00:15:40,180 --> 00:15:42,080 Se ne, bonvolu retrorigardas tiel foren. 359 00:15:42,080 --> 00:15:44,450 >> Sed tio estas nur por diri, kaj vi povas ia 360 00:15:44,450 --> 00:15:47,730 konkludi el la nomoj de tiuj aferojn, Ĝavoskripto, rezultas, 361 00:15:47,730 --> 00:15:53,200 tuj donos al ni metodon por aŭskulti por muso subiro aŭ muso suprenirantaj 362 00:15:53,200 --> 00:15:57,920 aŭ ŝlosilo subiro aŭ klavon suprenirantaj aŭ onsubmit onselect 363 00:15:57,920 --> 00:15:59,740 aŭ onresizing ion. 364 00:15:59,740 --> 00:16:03,060 Alivorte, ajna fizika ago ke homa povas preni per retumilo 365 00:16:03,060 --> 00:16:08,210 ke vi fari ĉiun tagon, Vi povas skribi kodo por kiu aŭskultas por tiuj okazaĵoj 366 00:16:08,210 --> 00:16:10,220 kaj tiam faras ion taŭgan. 367 00:16:10,220 --> 00:16:14,130 >> Ekzemple, se vi uzas Google Maps, kio okazas se vi klakas kaj movado 368 00:16:14,130 --> 00:16:16,250 la muso, tipe? 369 00:16:16,250 --> 00:16:17,758 Se vi klakas kaj treni? 370 00:16:17,758 --> 00:16:18,258 Yeah? 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 Ekzakte. 373 00:16:22,200 --> 00:16:23,159 La mapo komencas movi. 374 00:16:23,159 --> 00:16:25,616 Do vi povas ia vidi kio estas tie, kio estas tie. 375 00:16:25,616 --> 00:16:27,130 Kaj kiel faras Google planas akcepti? 376 00:16:27,130 --> 00:16:29,421 Nu, supozeble, ili estas uzante paron de tiuj evento 377 00:16:29,421 --> 00:16:31,720 aŭskultantoj, kiu diras, aŭskulti por sur muso 378 00:16:31,720 --> 00:16:35,410 down-- do kiam la uzanto fizike puŝas sian trackpad aŭ lia aŭ ŝia muso 379 00:16:35,410 --> 00:16:36,010 malsupren. 380 00:16:36,010 --> 00:16:38,350 Kaj tiam ni serĉas io kiel movado 381 00:16:38,350 --> 00:16:41,145 aŭ alian eventon, kiu nin permesas kapti trenas. 382 00:16:41,145 --> 00:16:45,910 Kaj fakte, treni estas simile en tiu dot dot dot listo de eblaj ebloj. 383 00:16:45,910 --> 00:16:49,140 >> Do tiu tuj estos potenca vojo komenci respondi al la uzanto 384 00:16:49,140 --> 00:16:52,824 eĉ antaŭ ol li aŭ ŝi vere klakoj io eksplicita kiel submetiĝi. 385 00:16:52,824 --> 00:16:55,240 Sed ni tuj enkondukos paro temoj por atingi tien. 386 00:16:55,240 --> 00:16:58,570 Sed unue, ni transiro al iu fakta kodo. 387 00:16:58,570 --> 00:17:01,450 Do mi tuj iras antaŭen kaj malfermu dom-0, 388 00:17:01,450 --> 00:17:05,869 kiu estas tre simpla ekzemplo ĉi tie ke se mi zomi simple 389 00:17:05,869 --> 00:17:08,500 havas ĉi enigo tie por mi. 390 00:17:08,500 --> 00:17:12,410 Kaj mi tuj iros antaŭen kaj entajpu "Davido" por mia nomo kaj alklaku Proponu. 391 00:17:12,410 --> 00:17:17,940 >> Kaj tiam, kvankam ia malmultekoste, mi havas ĉi prompto ke Popoj supren kiu diras, 392 00:17:17,940 --> 00:17:19,244 "saluton, David!" 393 00:17:19,244 --> 00:17:21,740 Do ĉi tiu estas speco de kiel nia "saluton, mondo" 394 00:17:21,740 --> 00:17:25,150 ke ni faris kelktempe reen en C kaj eĉ en PHP ĉar mi dinamike 395 00:17:25,150 --> 00:17:26,310 outputted mia nomo. 396 00:17:26,310 --> 00:17:28,230 Mi povas fari iu alia nomo tie. 397 00:17:28,230 --> 00:17:31,240 Mi povis simple ŝanĝi tion, kiel, Hannah, klaku Proponu. 398 00:17:31,240 --> 00:17:33,780 Kaj efektive, la iom popo-supren ŝanĝojn. 399 00:17:33,780 --> 00:17:36,650 >> Nun, popo-ups estas unu el la plej mistraktata trajtoj de la retejo. 400 00:17:36,650 --> 00:17:38,520 Kaj fakte, reen en la tago popo-up blockers 401 00:17:38,520 --> 00:17:40,820 venis en uzateco ĉar vi irus al iuj website-- 402 00:17:40,820 --> 00:17:43,604 eble kritikinda place-- kiu volus tiam subite 403 00:17:43,604 --> 00:17:46,020 komenci peppering via ekrano kun tuta amaso de pop-ups. 404 00:17:46,020 --> 00:17:49,700 Kaj tiel ĉi kapablo pop fenestroj antaŭ la uzanto 405 00:17:49,700 --> 00:17:52,372 ne estis aparte bone ricevita por la homaro. 406 00:17:52,372 --> 00:17:54,080 Tial do vi vidas ĉi malhelpi aferon, 407 00:17:54,080 --> 00:17:55,706 kiu ĵus faras ĉi tuta afero malbela. 408 00:17:55,706 --> 00:17:57,996 Do ni tuj bezonas bona maniero instigi la uzanton. 409 00:17:57,996 --> 00:17:59,350 Sed nuntempe, tio ŝajnas funkcii. 410 00:17:59,350 --> 00:18:03,320 Do ĝuste intuicie, kion ŝajnas esti pasante ĉi tie? 411 00:18:03,320 --> 00:18:07,870 Mi iros antaŭen kaj klaku Submetu kaj Tiam io okazas, klare. 412 00:18:07,870 --> 00:18:12,870 Sed kio ne okazas ke ja okazis lasta semajno ajn mi klakis Proponu? 413 00:18:12,870 --> 00:18:15,940 Kio ne okazis sur la ekrano? 414 00:18:15,940 --> 00:18:17,170 Pardonon? 415 00:18:17,170 --> 00:18:18,010 Reŝarĝi. 416 00:18:18,010 --> 00:18:19,720 La URL ne ŝanĝis tute. 417 00:18:19,720 --> 00:18:22,250 Mi diris ke tio estis dom-0, kaj mi estas ankoraŭ ĉe dom-0. 418 00:18:22,250 --> 00:18:26,890 Kutime, ni tre baldaŭ ŝanĝis al iuj aliaj URL, kiel register.php aŭ similaj. 419 00:18:26,890 --> 00:18:29,560 >> Sed eĉ kiam mi adiaŭos tion klakante OK, 420 00:18:29,560 --> 00:18:32,310 rimarkos ke la URL restas tute metita. 421 00:18:32,310 --> 00:18:35,350 Kaj, fakte, se mi estas iomete skeptika, lasu min malfermi Chrome. 422 00:18:35,350 --> 00:18:36,860 Lasu min malfermi la Reto langeto. 423 00:18:36,860 --> 00:18:38,360 Kaj rimarki ke estas malplenan nuntempe. 424 00:18:38,360 --> 00:18:40,700 Lasu min kaj resubmetu Maria. 425 00:18:40,700 --> 00:18:42,810 Mankas reto trafiko whatsoever. 426 00:18:42,810 --> 00:18:44,320 Do ne estas HTTP. 427 00:18:44,320 --> 00:18:47,620 >> Do efektive, se mi rigardas la fontokodon por this-- mi fermu fenestron 428 00:18:47,620 --> 00:18:49,480 kaj iri al vidi fontkodon. 429 00:18:49,480 --> 00:18:50,400 Interesaj. 430 00:18:50,400 --> 00:18:53,520 Ĝi aspektas kiel ekzistas iuj novaj etikedoj, inter ili skripto. 431 00:18:53,520 --> 00:18:57,490 Do ni rigardu ene CS50 IDE precize kion mi sendis al la uzanto. 432 00:18:57,490 --> 00:19:00,690 >> Do jen is-- ni temigi la HTML nur. 433 00:19:00,690 --> 00:19:03,500 Jen la malsupera duono de dom-0.html. 434 00:19:03,500 --> 00:19:07,830 Kaj rimarki ke ĝi estas atingis titolon, kapo etikedo, korpo etikedo, formo etikedo. 435 00:19:07,830 --> 00:19:11,257 Sed kion elsaltas al vi kiel malsama, speciale se vi neniam 436 00:19:11,257 --> 00:19:12,590 skribita ajna JavaScript mem. 437 00:19:12,590 --> 00:19:14,920 Lasu min rulumi iom dekstren tie. 438 00:19:14,920 --> 00:19:18,330 Mi havas enigaĵoj, alia enigo por submetiĝi. 439 00:19:18,330 --> 00:19:21,410 Mi havas IRU, kiu estas speco de nova. 440 00:19:21,410 --> 00:19:22,790 Sed ni ja vidis tiun kun CSS. 441 00:19:22,790 --> 00:19:24,480 Kio alia estas sendube nova? 442 00:19:24,480 --> 00:19:24,980 Yeah? 443 00:19:24,980 --> 00:19:30,580 444 00:19:30,580 --> 00:19:32,140 Nice. 445 00:19:32,140 --> 00:19:32,760 >> Bone. 446 00:19:32,760 --> 00:19:35,630 Do kie diras onsubmit, rimarki kio ŝajnas sekvi. 447 00:19:35,630 --> 00:19:38,740 Tiu estas atributo en HTML nomenklaturo. 448 00:19:38,740 --> 00:19:40,944 Ĝia valoro estas tiu citita kordoj tie. 449 00:19:40,944 --> 00:19:42,860 Kaj tio aspektas iom stranga unuavide. 450 00:19:42,860 --> 00:19:44,050 Ĝi ne estas HTML. 451 00:19:44,050 --> 00:19:45,240 Ĝi ne estas CSS. 452 00:19:45,240 --> 00:19:47,580 Tio estas, kiel vi eble supozas, Ĝavoskripto. 453 00:19:47,580 --> 00:19:51,850 Ŝajne do konstruita en tiun retpaĝo estas funkcio nomita Greet. 454 00:19:51,850 --> 00:19:54,250 Kaj mi infiriendo ke nur ĉar ĝi estas vorto, saluti. 455 00:19:54,250 --> 00:19:55,880 Oni alvenis malfermita paren, proksime paren, punktokomo. 456 00:19:55,880 --> 00:19:58,095 Aspektas kiel C funkcio, aspektas kiel PHP funkcio. 457 00:19:58,095 --> 00:20:00,370 >> Kaj ja, ĝi tuj esti Javascript funkcio. 458 00:20:00,370 --> 00:20:01,440 Tiam Mi revenos falsaj. 459 00:20:01,440 --> 00:20:03,440 Ni revenos al ke en nur momento. 460 00:20:03,440 --> 00:20:05,320 Sed kie estas tiu funkcio difinita? 461 00:20:05,320 --> 00:20:07,950 Nu lasu min rulumi supren al la supro de la dosiero. 462 00:20:07,950 --> 00:20:11,710 Kaj eĉ se ĝi estas longa linio, ĝi estas relative simpla. 463 00:20:11,710 --> 00:20:15,000 Lasu min malzomi kaj tie temigi tiuj kvar linioj. 464 00:20:15,000 --> 00:20:17,137 >> Do en JavaScript, ĵus kiel PHP, vi nur 465 00:20:17,137 --> 00:20:19,720 diru, laŭvorte, la vorto "funkcio" la nomo de la funkcio, 466 00:20:19,720 --> 00:20:22,700 kaj tiam parentezoj kun ajna arguments-- sen argumentoj en tiu kazo. 467 00:20:22,700 --> 00:20:25,290 Kaj ekzistas neniu reveno tipo en JavaScript, ĵus ŝatas PHP. 468 00:20:25,290 --> 00:20:29,470 Do estas iom pli malfiksas ol C. Malfermita krispa streĉa, proksime frizita streĉa. 469 00:20:29,470 --> 00:20:33,270 Konstruita en Javascript estas function-- ne rekomendita function-- 470 00:20:33,270 --> 00:20:35,730 sed funkcio nomita atentigo kies sola celo en la vivo 471 00:20:35,730 --> 00:20:38,620 estas tiri supren ke sufiĉe malbela suflori kiun ni vidis antaŭ momento. 472 00:20:38,620 --> 00:20:40,950 >> Nun ĉi tiu estas speco de bocado. 473 00:20:40,950 --> 00:20:42,560 Kio okazas ĉi tie? 474 00:20:42,560 --> 00:20:45,840 Do ni komencu reliefigi ĉio tie. 475 00:20:45,840 --> 00:20:48,540 Tio estas la sama argumento de alarmi. 476 00:20:48,540 --> 00:20:49,530 Kaj kio okazas? 477 00:20:49,530 --> 00:20:51,200 Ĉi nur aspektas kiel ŝnuro. 478 00:20:51,200 --> 00:20:59,180 Kaj ĝi rezultas, kontraste PHP kaj kontraste C, ne gravas en JavaScript 479 00:20:59,180 --> 00:21:01,090 se vi sola citaĵoj aŭ duobla citaĵoj. 480 00:21:01,090 --> 00:21:02,060 Ili estos ekvivalentaj. 481 00:21:02,060 --> 00:21:03,769 Kaj sincere, estas nur populara tiuj tagoj 482 00:21:03,769 --> 00:21:06,726 por JavaScript programadores ĉiam uzi solan citaĵoj ial. 483 00:21:06,726 --> 00:21:07,840 Estas nur la afero por fari. 484 00:21:07,840 --> 00:21:09,710 Sed ni povus uzi citiloj, ankaŭ. 485 00:21:09,710 --> 00:21:11,540 >> Do plus estas nova karaktero. 486 00:21:11,540 --> 00:21:14,512 Sed tiuj el vi, kiuj jam faris tio antaŭe, kion plie diri? 487 00:21:14,512 --> 00:21:16,440 Yeah. 488 00:21:16,440 --> 00:21:17,120 Concatenate. 489 00:21:17,120 --> 00:21:18,570 Do ni vidis tion en PHP. 490 00:21:18,570 --> 00:21:20,315 Tie estas nur la punkto operatoro en PHP kiu 491 00:21:20,315 --> 00:21:22,000 estos concatenate du kordoj kune. 492 00:21:22,000 --> 00:21:24,000 C estis doloro en la kolo por fari tion. 493 00:21:24,000 --> 00:21:27,310 Revokon de pset ses, kiuj estis an especial doloro en la kolo, 494 00:21:27,310 --> 00:21:29,470 Vi devus uzi io kiel strcat 495 00:21:29,470 --> 00:21:31,660 post atribuo memoro sur la stako aŭ la monteto. 496 00:21:31,660 --> 00:21:34,243 Vi devis salti tra ringegojn nur concatenate du kordoj. 497 00:21:34,243 --> 00:21:36,040 En JavaScript, estas super simpla. 498 00:21:36,040 --> 00:21:38,030 Simple uzu la plus operatoro inter ili. 499 00:21:38,030 --> 00:21:41,420 >> Do la kompleksa-rigardanta afero ŝajnas esti ĉi 500 00:21:41,420 --> 00:21:43,490 ĉar fine de tiun tutan ĉenon, mi ĵus 501 00:21:43,490 --> 00:21:45,797 concatenate sur ekkrion punkto. 502 00:21:45,797 --> 00:21:48,380 Do se kio estis krevanta supre estis "saluton, David," "saluton, Hannah," 503 00:21:48,380 --> 00:21:52,740 "saluton, Maria", kaj tiel antaŭen, klare ke meza afero inter la du 504 00:21:52,740 --> 00:21:55,215 plusoj devas doni min aliro al kio? 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 Kio estas en tie dum certa? 507 00:22:01,991 --> 00:22:02,490 Yeah. 508 00:22:02,490 --> 00:22:05,090 Do mi ŝajnigante tie la respondos iliajn nomon, ĉu ne? 509 00:22:05,090 --> 00:22:10,380 Do ilia nomo pusxis supren en la finalo rezulto. Do kio faras ĉi tiun mezumon? 510 00:22:10,380 --> 00:22:15,080 Nu, mi proponis pli frue en tiu portreton kiu la tielnomita DOM 511 00:22:15,080 --> 00:22:18,580 havas tiun specialan radiko elemento vojo supren supro nomita dokumento. 512 00:22:18,580 --> 00:22:21,660 Kaj nun, rezultas, ke tuj esti speciala tutmonda variablo 513 00:22:21,660 --> 00:22:25,250 en JavaScript, konstruita en kiun estas tuta aro da utilaj funcionalidades. 514 00:22:25,250 --> 00:22:31,770 Inter la utila funcionalidad estas la kapableco akiri en ajna posteulo nodo. 515 00:22:31,770 --> 00:22:37,760 Tiuj kvadratoj aŭ rektangulojn aŭ elipsoj estas nur nodoj en arbo, tiel diri. 516 00:22:37,760 --> 00:22:41,850 >> Do rezultas ke konstruita en JavaScript estas dokumenton objekto 517 00:22:41,850 --> 00:22:47,300 estas funkcio, alie konata kiel metodo, kiu nomas getElementById. 518 00:22:47,300 --> 00:22:50,410 La sintakso por vokanta funkcio en JavaScript 519 00:22:50,410 --> 00:22:55,220 ke estas ene de objekto aŭ variablo estas ĝuste kun la skalara skribmaniero. 520 00:22:55,220 --> 00:22:57,950 Kaj ni vidis tion en C kion la struct sintakso. 521 00:22:57,950 --> 00:23:03,530 Vi vidos tion en pset sep, ia, speco de, kiam vi vidas CS50 :: demando. 522 00:23:03,530 --> 00:23:08,070 La dupunkto dupunkto en PHP estas alia maniero de nomante funkcio tio 523 00:23:08,070 --> 00:23:09,260 ene de iu celo. 524 00:23:09,260 --> 00:23:11,960 >> Sed nuntempe en JavaScript, ĝi estas nur punkto. 525 00:23:11,960 --> 00:23:14,170 Kaj do ĉi tiu funkcio, bele sufiĉe, ia 526 00:23:14,170 --> 00:23:16,810 diras kio does-- akiri elementon de ID. 527 00:23:16,810 --> 00:23:20,280 Ero estas nur alia nomo por etikedo aŭ nodo en la DOM. 528 00:23:20,280 --> 00:23:26,900 Kaj tiel akiri elementon de ID "nomo" signifas this-- jen mia HTML. 529 00:23:26,900 --> 00:23:31,910 Kaj bazita sur ĉi HTML, kio nodo aŭ kio HTML tag estas mi 530 00:23:31,910 --> 00:23:35,097 tuj programmatically esti handed nomante document.getElementByID? 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> Jes, ĝuste. 533 00:23:38,500 --> 00:23:42,670 Mi tuj akiri la enigo elemento tie kies ID estas "nomo". 534 00:23:42,670 --> 00:23:45,140 Do specife, vi povas pensi pri tiu funkcio, 535 00:23:45,140 --> 00:23:49,560 getElementById, kiel maniero de doni malantaŭeniri puntero al tiu specifa nodo 536 00:23:49,560 --> 00:23:50,060 en la arbo. 537 00:23:50,060 --> 00:23:51,980 Ni ne portis ĉi arbo, sed ĝi estas maniero 538 00:23:51,980 --> 00:23:54,900 akiri aliron al tiu rektangulo aŭ ke rektangulo 539 00:23:54,900 --> 00:23:58,090 per unike identigante ĝin tra lia IRU. 540 00:23:58,090 --> 00:23:59,760 >> Nun, kial estas tiu utila? 541 00:23:59,760 --> 00:24:01,510 Nu, Ĝi rezultas ke unufoje vi akiris 542 00:24:01,510 --> 00:24:07,220 ke nodo, ke rektangulo el la bildo, ke nodo en ĝi, 543 00:24:07,220 --> 00:24:10,660 siavice, havas tutan faskon da properties-- ŝlosilo-valoro paroj 544 00:24:10,660 --> 00:24:13,480 aŭ datumoj, unu el kiu estas nomita valoro. 545 00:24:13,480 --> 00:24:16,500 Do laŭvorte, ĝi estas speco de buŝplenon klarigi la tutan aferon. 546 00:24:16,500 --> 00:24:19,370 Sed fine de la tago, ĉiuj ĉi faras estas doni vin 547 00:24:19,370 --> 00:24:23,070 ĉeno kiu la uzanto tajpas en en tiu hierarkia modo. 548 00:24:23,070 --> 00:24:24,820 Sed mi ne ŝatas paro el tiuj aferoj. 549 00:24:24,820 --> 00:24:27,590 Aŭ prefere, ekzistas iuj scivolemo ankoraŭ. 550 00:24:27,590 --> 00:24:28,870 Ĉiuj kiuj ŝajnis funkcii. 551 00:24:28,870 --> 00:24:33,420 Kial vi kredas ke mi revenis falsa post nomi saluti? 552 00:24:33,420 --> 00:24:35,910 Ĉi aspektas iom malbela, ke Mi havas du deklaroj tie 553 00:24:35,910 --> 00:24:38,730 apartigita per punktokomojn. 554 00:24:38,730 --> 00:24:39,310 Prenu divenon. 555 00:24:39,310 --> 00:24:44,390 Se mi forigis reveni falsa, kio povus okazi, nur instinkte? 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 Pardonu, diru denove? 558 00:24:49,460 --> 00:24:50,530 >> Malfermu faskon de Vindozo. 559 00:24:50,530 --> 00:24:52,780 Do potenciale eble iu kiel tio okazus. 560 00:24:52,780 --> 00:24:54,422 Kion alian? 561 00:24:54,422 --> 00:24:55,630 Povus prezenti peton kie? 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 Al la sama paĝo. 564 00:25:00,510 --> 00:25:03,110 Do, fakte, tio estas ke la proksiman respondi ĉi tie, 565 00:25:03,110 --> 00:25:05,890 kvankam, kontraste en la pasinteco, mi ne 566 00:25:05,890 --> 00:25:09,300 specifis la ago atributo, kiu kutime devas fari. 567 00:25:09,300 --> 00:25:11,780 Rezultas tie estas defaŭlta. Se vi ne specifas ago, 568 00:25:11,780 --> 00:25:15,370 estas kiel diri citaĵo, unquote aŭ la nomo de la dosiero mem, 569 00:25:15,370 --> 00:25:17,850 kiu en ĉi tiu kazo estus esti kiel dom-0.html. 570 00:25:17,850 --> 00:25:20,420 Ĝi simple speco de konkludita, aŭ prefere implicita. 571 00:25:20,420 --> 00:25:22,420 >> Kaj do se mi ne faras tion, ni rimarkos. 572 00:25:22,420 --> 00:25:23,230 Lasu min savi ĉi. 573 00:25:23,230 --> 00:25:25,270 Kaj mi forigis reveno falsa. 574 00:25:25,270 --> 00:25:27,759 Lasu min reiri al tiu Ekzemple kaj forto reŝarĝi ĝin. 575 00:25:27,759 --> 00:25:30,800 Kaj vi eble vidis min sugesti tio sur CS50 Diskutu faskon da fojoj. 576 00:25:30,800 --> 00:25:34,560 Se io iam agante funky kaj la retumilo kondutas kiel vi atendas, 577 00:25:34,560 --> 00:25:37,410 ofte vi volas okazigi Shift kaj tiam alklaku Reŝarĝi. 578 00:25:37,410 --> 00:25:41,480 Kiu devigos ĉiun dosieron reŝarĝi kaj ne uzi vian retumilo loka konservejo 579 00:25:41,480 --> 00:25:47,032 aŭ kopion por ke nun, lasu min antaŭeniri kaj malfermu mian Inspektisto, la Reto langeto. 580 00:25:47,032 --> 00:25:48,740 Mi tuj alklaki Preserve Ensalutu ĉar mi 581 00:25:48,740 --> 00:25:51,660 ne volas ĝin forigi la vicoj iam mi akiras forblovita aliloke. 582 00:25:51,660 --> 00:25:54,650 >> Lasu min ĉi tie kaj tipo en Andi, klaku Proponu. 583 00:25:54,650 --> 00:25:55,150 Bone. 584 00:25:55,150 --> 00:25:56,480 Tio ŝajnas kiel atendis. 585 00:25:56,480 --> 00:25:57,440 Ĝi diras "saluton, Andi." 586 00:25:57,440 --> 00:25:59,420 Lasu min klaku OK. 587 00:25:59,420 --> 00:26:00,610 Interesaj. 588 00:26:00,610 --> 00:26:05,100 Rimarku ke la paĝo ŝanĝis, kvankam al la origina paĝo. 589 00:26:05,100 --> 00:26:06,770 Rimarki la URL ia ŝanĝita. 590 00:26:06,770 --> 00:26:09,430 Ĝi aldonis demandosignon, kiu ĝenerale indikilo 591 00:26:09,430 --> 00:26:11,260 ke ni provis prezenti ion. 592 00:26:11,260 --> 00:26:13,570 Kaj tiam ĉe la fundo, eĉ pli eksplicite, 593 00:26:13,570 --> 00:26:17,570 tie estas la fakta HTTP peto, kiu ricevis respondon de 200 ke 594 00:26:17,570 --> 00:26:18,490 venigis min tien. 595 00:26:18,490 --> 00:26:20,250 >> Do ne tion ni volas fari, ĉu ne? 596 00:26:20,250 --> 00:26:22,166 Ĉar mi ne volas reŝarĝi la tuta paĝo. 597 00:26:22,166 --> 00:26:24,970 Mi anstataŭe volis reveni malvera por tiel fuŝkontakto 598 00:26:24,970 --> 00:26:28,840 la retumilo defaŭlta konduto, kiu Estis, kompreneble, por submeti la paĝo. 599 00:26:28,840 --> 00:26:31,700 >> Do ni rigardu kiel marĝene pli bona ekzemplo. 600 00:26:31,700 --> 00:26:33,920 Jen dom versio unu. 601 00:26:33,920 --> 00:26:36,680 Kaj rimarkis la sekvan. 602 00:26:36,680 --> 00:26:39,150 Estas bone se vi ne grok ĉiuj la linioj de kodo. 603 00:26:39,150 --> 00:26:41,750 Sed kio estas fundamente malsama pri tiu ekzekuto? 604 00:26:41,750 --> 00:26:44,690 Mi kondiĉas kondutas la sama, faras same. 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 Kion mi evidente farita malsame? 607 00:26:51,570 --> 00:26:52,266 Yeah? 608 00:26:52,266 --> 00:26:53,182 >> Spektantaro: [inaudible]. 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVID Malan: Yeah. 611 00:27:04,170 --> 00:27:08,620 Do la funkcio estas difinita differently-- alivorte, forestanta de la formo, 612 00:27:08,620 --> 00:27:13,180 tie supre sur linio 7-- aŭ prefere, linio 8-- ne plu 613 00:27:13,180 --> 00:27:15,070 mi havas la onsubmit atributo. 614 00:27:15,070 --> 00:27:16,750 En la antaŭa ekzemplo, mi havis tion. 615 00:27:16,750 --> 00:27:18,530 Kaj tiam mi laŭvorte skribis mian kodo tie. 616 00:27:18,530 --> 00:27:20,210 Kaj poste mi diris reveno falsa. 617 00:27:20,210 --> 00:27:22,180 Kaj se ĝi ne froti vi malĝustan manieron tamen, 618 00:27:22,180 --> 00:27:26,140 ĝi devus komenci mezuro kiel, ĝuste kiel en HTML, 619 00:27:26,140 --> 00:27:29,530 kiam ni komencis ko-kunfandigxas ĝi kun CSS en stilo atributoj, 620 00:27:29,530 --> 00:27:32,890 ĝi ĵus komencis akiri iom senorda aŭ senti iom malĝusta. 621 00:27:32,890 --> 00:27:35,020 >> Simile cxi tie, se vi komencas prenanta HTML, 622 00:27:35,020 --> 00:27:37,419 kaj tiam vi aŭtomate Plop iuj JavaScript kodo 623 00:27:37,419 --> 00:27:40,460 en la mezo de citita kordoj, ĝi estas ne tuj estos tre mantenible. 624 00:27:40,460 --> 00:27:40,630 Dekstra? 625 00:27:40,630 --> 00:27:43,690 Estas eĉ ne evidente unue loko kie la kodo JavaScript estas. 626 00:27:43,690 --> 00:27:46,590 Do ĝi estus vere bela kiel principo de bona dezajno, 627 00:27:46,590 --> 00:27:50,500 ni konservos niajn HTML tute apartigu el niaj Javascript. 628 00:27:50,500 --> 00:27:53,150 >> Do fari tion, kion ni farita ĉi tie estas la following-- 629 00:27:53,150 --> 00:27:56,790 ni simple uzi HTML por markado nur. 630 00:27:56,790 --> 00:28:00,730 Kaj tiel en versio unu el tio, ĉiuj Mi estas formo kun unika ID. 631 00:28:00,730 --> 00:28:04,630 Kaj poste malsupren tie, mi utiligante de speciala trajto de Ĝavoskripto 632 00:28:04,630 --> 00:28:08,480 per kiu mi povas havi kio estas nomita anonima funkcio. 633 00:28:08,480 --> 00:28:14,150 Do rezultas ke se mi nomas document.getElementByID de 'demo' 634 00:28:14,150 --> 00:28:18,890 jen kiel doni al mi montrilon al tiu nodo en mia arbo, la formo elemento, 635 00:28:18,890 --> 00:28:20,100 tiel diri. 636 00:28:20,100 --> 00:28:22,220 >> Nun, mi nur scias el sciante iom de HTML 637 00:28:22,220 --> 00:28:26,330 nun ni leginte iun rete aludo, ke formo elemento subtenas 638 00:28:26,330 --> 00:28:29,950 tuta aro da okazaĵo listeners-- en Alivorte, la lavbutiko listo de evento 639 00:28:29,950 --> 00:28:31,700 aŭskultantoj ke ni vidis antaŭ momento. 640 00:28:31,700 --> 00:28:35,950 Mi scias de leganta la dokumentado ke onsubmit estas valida okazaĵo 641 00:28:35,950 --> 00:28:38,520 aŭskultanto por formo elemento. 642 00:28:38,520 --> 00:28:41,480 >> Do iam mi scias ke, ĝi estas sekura por ke mi faru 643 00:28:41,480 --> 00:28:45,390 la following-- akiri tiun nodo de la arbo, la formo elemento, 644 00:28:45,390 --> 00:28:48,070 kaj aliri lia tn onsubmit proprieto. 645 00:28:48,070 --> 00:28:49,880 Do la skalara nur signifas ĉi estas propraĵo, 646 00:28:49,880 --> 00:28:52,180 kiel speciala valoro ene de ĝi. 647 00:28:52,180 --> 00:28:55,590 Kaj kion datumtipo estas mi asignanta, ŝajne, 648 00:28:55,590 --> 00:28:58,900 al onsubmit, kiu estas efike variablon ene 649 00:28:58,900 --> 00:29:01,010 de tiu nodo en la arbo? 650 00:29:01,010 --> 00:29:04,100 Estas kampo ene de tiu struct. 651 00:29:04,100 --> 00:29:05,810 Kio estas la datumtipo? 652 00:29:05,810 --> 00:29:07,030 >> Funkcio, yeah. 653 00:29:07,030 --> 00:29:08,607 Do rezultas ke PHP havas tiun. 654 00:29:08,607 --> 00:29:10,440 Kaj eĉ se ni ne parolis al vi pri ĝi, 655 00:29:10,440 --> 00:29:16,240 C ankaŭ havas funkcion punteros, la kapablon pasi kaj asigni funkciojn 656 00:29:16,240 --> 00:29:18,330 kiel variabloj 'valoroj mem. 657 00:29:18,330 --> 00:29:20,280 Kaj ni ne tuj al malprogresas reen al C. 658 00:29:20,280 --> 00:29:23,250 Sed nuntempe, Ĝi rezultas ke sur la dekstra flanko tie, 659 00:29:23,250 --> 00:29:26,260 eĉ se ĝi aspektas iom funky, tiu signifas, hej retumilo, 660 00:29:26,260 --> 00:29:27,550 Lasu min funkcio. 661 00:29:27,550 --> 00:29:30,560 Mi ne tuj eĉ tedas donante li nomon ĉar mi estas laŭvorte 662 00:29:30,560 --> 00:29:34,450 tuj asigni ni nomas ĝin la adreso de tiu funkcio 663 00:29:34,450 --> 00:29:35,994 tuj al onsubmit. 664 00:29:35,994 --> 00:29:39,160 Alivorte, retumilo, vi ne bezonas scii kion tiu funkcio nomiĝas. 665 00:29:39,160 --> 00:29:41,890 Vi nur bezonas scii kie estas en memoro. 666 00:29:41,890 --> 00:29:44,210 Do sufiĉas nur por havas egalan signon tie 667 00:29:44,210 --> 00:29:48,240 kaj ne tedi enoficigante ĉi, kiel foo aŭ saluti aŭ ajna alia vorto. 668 00:29:48,240 --> 00:29:50,150 Kaj nun tio estas nur stila afero. 669 00:29:50,150 --> 00:29:53,100 Mi povus kopii ĉi buklaj krampoj sur the-- sorry-- sekva linio 670 00:29:53,100 --> 00:29:54,750 kiel ni kutime faras CS50. 671 00:29:54,750 --> 00:29:57,550 Sed en JavaScript, ĝi estas fakte stile komuna 672 00:29:57,550 --> 00:30:00,450 por nur konservi la krispa streĉa, la unua, en tiu unua linio. 673 00:30:00,450 --> 00:30:02,620 >> Sed ekde nun, ekzistas nenio interesa. 674 00:30:02,620 --> 00:30:05,830 Ke malfermita krispa streĉa nur demarca la komenco de mia funkcio. 675 00:30:05,830 --> 00:30:09,320 La funkcio estas nun identa, krom mi havas 676 00:30:09,320 --> 00:30:11,452 inkludis la reveno falsa ene de tiu funkcio. 677 00:30:11,452 --> 00:30:13,160 Ĉar ĝi turnas fjordon kaj vi farus nur 678 00:30:13,160 --> 00:30:14,980 scias tion de legado la documentation-- 679 00:30:14,980 --> 00:30:19,740 ke se la funkcio kiun vi atribuas al la onsubmit traktilo revenas falsa, 680 00:30:19,740 --> 00:30:23,420 la retumilo nur scias kaj konsentas ne sendi la formularon al servanto. 681 00:30:23,420 --> 00:30:27,210 Se ĝi revenas vera, ĝi submetos ĝi al servanto por kialoj ni vidos 682 00:30:27,210 --> 00:30:28,700 estas utilaj en nur momento. 683 00:30:28,700 --> 00:30:31,000 >> Kaj tiam la punktokomo post la krispa streĉa tie nur 684 00:30:31,000 --> 00:30:32,541 signifas Mi faritaj difinanta la funkcio. 685 00:30:32,541 --> 00:30:36,600 Vi scias kiel nomi tiel frue kiel vi aŭdas submetiĝo. 686 00:30:36,600 --> 00:30:37,100 Bone. 687 00:30:37,100 --> 00:30:40,650 Tio estas ankoraŭ eble ia malbela. 688 00:30:40,650 --> 00:30:42,190 Do kio pli povas fari? 689 00:30:42,190 --> 00:30:45,000 >> Nu, Ĝi rezultas tiam en versio du, kio estas la last-- 690 00:30:45,000 --> 00:30:46,780 kaj ni simple ekrigardi ĉi. 691 00:30:46,780 --> 00:30:49,850 Al risko de farado ĝi pli malbelaj, rezultas 692 00:30:49,850 --> 00:30:52,160 ke tie estas biblioteko en la mondo nomita jQuery. 693 00:30:52,160 --> 00:30:54,900 Kaj jQuery estas súper populara JavaScript biblioteko 694 00:30:54,900 --> 00:30:57,930 ke estas tiom populara ke plej ajna JavaScript-- ĝi ne estas 695 00:30:57,930 --> 00:31:00,540 nekomuna por homoj konfuzi jQuery kun JavaScript. 696 00:31:00,540 --> 00:31:01,070 Kial? 697 00:31:01,070 --> 00:31:04,990 Ĝavoskripto mem havas tre abundajn manieroj fari things-- 698 00:31:04,990 --> 00:31:07,820 document.getElementByID, dadadadadada. 699 00:31:07,820 --> 00:31:10,510 Vi finos supre havanta tre longaj linioj de kodo. 700 00:31:10,510 --> 00:31:15,550 >> Do ulo nomita John Resid, kiu fakte laboras por startup 701 00:31:15,550 --> 00:31:18,630 tiujn tagojn, elvenis kun tiu biblioteko jaroj 702 00:31:18,630 --> 00:31:22,070 antaŭ ke multaj homoj kontribuis al nomita jQuery kiu ŝanĝas 703 00:31:22,070 --> 00:31:23,449 la sintakso en la jena maniero. 704 00:31:23,449 --> 00:31:25,740 Kaj ĝuste tial vi vidis tiun, ĉar vi nevarie 705 00:31:25,740 --> 00:31:28,140 vidu ĉi se faranta reta fina projekto, 706 00:31:28,140 --> 00:31:33,270 tiu estus la ekvivalenta maniero de efektivigado tiu sama funkcio uzante 707 00:31:33,270 --> 00:31:34,630 tiu speciala biblioteko. 708 00:31:34,630 --> 00:31:36,680 >> Nun, anstataŭ tease ĝin aparte en ĝia tuteco, 709 00:31:36,680 --> 00:31:38,520 ni nur rigardas iujn mastrojn. 710 00:31:38,520 --> 00:31:44,850 Tiu sintakso aperas havi kiom da anonimaj funkcioj 711 00:31:44,850 --> 00:31:49,584 aŭ sennomaj funkcioj aŭ AKA lambda funkcioj? 712 00:31:49,584 --> 00:31:50,190 Du, dekstra? 713 00:31:50,190 --> 00:31:52,690 Kaj vi scias, ke eĉ se vi ne estas súper comfy kun tiu, 714 00:31:52,690 --> 00:31:55,780 nur per la fakto ke ĝi diras funkcio () dufoje. 715 00:31:55,780 --> 00:31:58,172 >> Kaj ĝi rezultas ke kion tiu kodo estas doing-- 716 00:31:58,172 --> 00:32:01,255 kaj ni raporti al perretaj referencojn, finfine, por iu helpo kun ĉi tiu. 717 00:32:01,255 --> 00:32:04,480 Tiu nur signifas ke kiam la dokumento estas preta, 718 00:32:04,480 --> 00:32:07,490 antaŭeniri kaj registriĝu la sekva funkcio 719 00:32:07,490 --> 00:32:12,064 kiel la submeto traktilo por la HTML elemento kies sola ideo estas demo. 720 00:32:12,064 --> 00:32:14,480 Kaj tiam, kiam tiu okazas, nomas tiujn du linioj de kodo. 721 00:32:14,480 --> 00:32:18,677 Kaj jen estas, tragike, oni pli abundajn maniero diri reveni falsaj. 722 00:32:18,677 --> 00:32:21,510 Kaj ni menciis ĉi nur pro Vi vidos kodo kiel tiu linio. 723 00:32:21,510 --> 00:32:23,140 Kaj estas nenio por esti timigis. 724 00:32:23,140 --> 00:32:26,057 Sed prefere, memoru, ke kio estas tuj esti komuna en JavaScript 725 00:32:26,057 --> 00:32:26,765 estas tiu paradigmo. 726 00:32:26,765 --> 00:32:29,510 Kaj tiel tio estas kial ni montras gxin nun. 727 00:32:29,510 --> 00:32:30,010 Bone. 728 00:32:30,010 --> 00:32:32,730 Do sen logxante tro multe en tiu sintakso, 729 00:32:32,730 --> 00:32:37,800 ili estas ajnaj demandoj sur tiuj ekzemploj aŭ ideoj tiel malproksime? 730 00:32:37,800 --> 00:32:38,300 Bone. 731 00:32:38,300 --> 00:32:40,220 Do ni uzu tiun por io utila. 732 00:32:40,220 --> 00:32:47,070 Farante retpaĝon kiu nur diras saluton, tiel kaj tiel estas ne cxiuj interesaj, 733 00:32:47,070 --> 00:32:47,830 ne underwhelm. 734 00:32:47,830 --> 00:32:51,038 Ĉi tiu ne tuj estos bela, sed tuj fari ion utilan. 735 00:32:51,038 --> 00:32:56,350 Lasu min reiri al mia dosierujo tien kaj malfermu, diru, formo-0.html. 736 00:32:56,350 --> 00:32:59,320 >> Do supozu ĉi estas la unuajarulo enurbaj sportoj registriĝo paĝon 737 00:32:59,320 --> 00:33:01,780 sen ajna CSS aŭ ajna senco de dezajno. 738 00:33:01,780 --> 00:33:05,404 Mi volas iri antaŭen kaj registri tie kun pasvorto. 739 00:33:05,404 --> 00:33:08,320 Kaj mi tuj konsentas al la terminoj kaj kondiĉojn kaj klaku Registro. 740 00:33:08,320 --> 00:33:11,700 Kaj nun la retejo diras, "Vi estas registrita! (Nu, ne vere.) " 741 00:33:11,700 --> 00:33:15,070 Tio ŝajnas kiel ĝi funkciis, sed lasu min antaŭeniri kaj devigi Reload. 742 00:33:15,070 --> 00:33:18,720 >> Kaj lasu min diri, ne, vi ne bezonas mian fakta retadreso. 743 00:33:18,720 --> 00:33:21,820 Aŭ eble ni nur diros poŝto en tie. 744 00:33:21,820 --> 00:33:25,080 Pasvorto estos, kiel, 12345. 745 00:33:25,080 --> 00:33:28,810 Kaj tiam, nur ĉar mi estas idioto, nun ĝi estas 123456789. 746 00:33:28,810 --> 00:33:31,150 Kaj mi ne tuj kontroli viajn skatolo. 747 00:33:31,150 --> 00:33:31,850 >> Hmm. 748 00:33:31,850 --> 00:33:32,350 Bone. 749 00:33:32,350 --> 00:33:34,920 Do ekzistas pluraj ŝancoj por plibonigo tie. 750 00:33:34,920 --> 00:33:39,070 Kaj vi scias, aŭ vidos en pset sep, kiujn vi povas skribi code-- 751 00:33:39,070 --> 00:33:41,890 kaj vi devos skribi kodo en PHP-- defendi 752 00:33:41,890 --> 00:33:45,780 kontraŭ tiuj specoj de uzanto eraroj ĉar la uzanto klare 753 00:33:45,780 --> 00:33:46,790 ne kunlaboris. 754 00:33:46,790 --> 00:33:49,680 Kaj li aŭ ŝi ne donis al vi ĉiujn aprezas vi volis aŭ eĉ en la formato 755 00:33:49,680 --> 00:33:50,630 ke vi deziris ilin. 756 00:33:50,630 --> 00:33:53,250 Do vi vidos en pset sep ke ni certe povus havi iun 757 00:33:53,250 --> 00:33:55,680 se kondiĉoj kiuj diras se la retadreson 758 00:33:55,680 --> 00:33:59,450 ne estas username@something.edu, ni povus simple 759 00:33:59,450 --> 00:34:02,575 diru bedaŭras kaj pardonpetas al la uzanto da, kiel vi povus esti en pset sep. 760 00:34:02,575 --> 00:34:05,700 Aŭ se ili ne kontrolis tiun skatolon, rezultas en PHP, vi povas detekti ke, 761 00:34:05,700 --> 00:34:06,200 tro. 762 00:34:06,200 --> 00:34:09,389 Kaj certe se la pasvortoj ne egalas kiel en register.php 763 00:34:09,389 --> 00:34:11,521 por pset sep, vi povas detekti tiun. 764 00:34:11,521 --> 00:34:13,770 Sed tio estas doloro en la kolo en tiu nun ili petas 765 00:34:13,770 --> 00:34:15,510 ni iri la tutan vojon al la servilo. 766 00:34:15,510 --> 00:34:17,053 La uzanto estas informita de la eraro. 767 00:34:17,053 --> 00:34:19,219 Kaj almenaŭ se vi uzas iuj amatoro teknikoj, 768 00:34:19,219 --> 00:34:20,929 nun ili devi klaki la dorso sago. 769 00:34:20,929 --> 00:34:23,300 Ĉu ne estus agrabla, kiel multaj retejoj hodiaŭ, 770 00:34:23,300 --> 00:34:26,190 se vi havis pli tujan retrosciigon, senprokraste? 771 00:34:26,190 --> 00:34:31,389 >> Alivorte, mi povas iri al versio unu, kiu tuj estos pli bela. 772 00:34:31,389 --> 00:34:33,469 Sed ĝi havas tiun funkcion. 773 00:34:33,469 --> 00:34:39,590 Malan, 12345, 123456789, ne tuj kontroli la skatolon, Register. 774 00:34:39,590 --> 00:34:41,330 Pasvortoj ne kongruas. 775 00:34:41,330 --> 00:34:44,459 Do kvankam tiu popmuziko-supre estas ugly-- ni povas anstataŭigi tiun eventuale 776 00:34:44,459 --> 00:34:47,000 kun iu kiel Bootstrap, kiun vi vidos en pset sep 777 00:34:47,000 --> 00:34:50,239 Estas tre populara biblioteko mi faris detekti ke la pasvortoj ne egalas. 778 00:34:50,239 --> 00:34:50,739 Bone. 779 00:34:50,739 --> 00:34:52,530 Nu, lasu min korekti ke kiel la uzanto. 780 00:34:52,530 --> 00:34:55,460 Lasu min kaj diri 12345, 12345. 781 00:34:55,460 --> 00:34:57,780 Ankoraŭ ne kontrolanta la interkonsento. 782 00:34:57,780 --> 00:35:00,210 Vi devas konsenti la terminoj kaj kondiĉoj. 783 00:35:00,210 --> 00:35:01,760 Do kial? 784 00:35:01,760 --> 00:35:04,100 >> Se ni jam postulatis ke troveblas solvo, 785 00:35:04,100 --> 00:35:07,260 kaj ni postulis vin pset sep detekti eraro 786 00:35:07,260 --> 00:35:09,780 kondiĉojn ŝatas tion servilo-flanko, kial mi 787 00:35:09,780 --> 00:35:13,940 ĝeni ankaŭ sekvas la JavaScript? 788 00:35:13,940 --> 00:35:15,850 Kio estas argumento favoro de aldonado kio 789 00:35:15,850 --> 00:35:18,760 vi estas estonta vidi kiel some-- ekzistas kroma komplekseco. 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> Eble ne estas inversita. 792 00:35:25,930 --> 00:35:26,924 Kio povus esti? 793 00:35:26,924 --> 00:35:27,840 Spektantaro: [inaudible]. 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVID Malan: Ha, interese. 796 00:35:32,340 --> 00:35:33,530 Potencialaj heroaĵoj. 797 00:35:33,530 --> 00:35:37,540 Tiel certa, se vi ne uzado erara uzanto enigo tiun grandan, 798 00:35:37,540 --> 00:35:40,170 eble estas pli bone se ĝi eĉ ne atingos vian servilon. 799 00:35:40,170 --> 00:35:42,160 Mi premus reen tie kaj diru, vi supozeble 800 00:35:42,160 --> 00:35:43,284 ripari ambaŭ de tiuj problemoj. 801 00:35:43,284 --> 00:35:44,140 Sed tio estas justa. 802 00:35:44,140 --> 00:35:44,710 Kion alian? 803 00:35:44,710 --> 00:35:45,626 >> Spektantaro: [inaudible]. 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVID Malan: Yeah. 806 00:35:49,014 --> 00:35:51,680 Tiu kodo, kiel ni diris antaŭe, estas interpretita en la kliento-flanko. 807 00:35:51,680 --> 00:35:53,846 Ne ĝenas la servilo, kio signifas ĝin ne 808 00:35:53,846 --> 00:35:55,930 efiki la servila ŝarĝo aŭ kapablo. 809 00:35:55,930 --> 00:35:59,840 Kaj nun, por iom maljuna min, tiu havas signifoplenan efekto 810 00:35:59,840 --> 00:36:01,970 ĉar mi havas unu uzanto nun. 811 00:36:01,970 --> 00:36:04,010 >> Sed se vi estas iu retejo de deca grandeco, 812 00:36:04,010 --> 00:36:07,400 precipe la plej grandaj, kiel Facebook, La pli vi povas teni homojn for 813 00:36:07,400 --> 00:36:09,927 de via servilo la bona ĉar servilon, kompreneble, 814 00:36:09,927 --> 00:36:12,510 nur havas finia kvanto de memoro RAM, finia nombro de gigaherco, 815 00:36:12,510 --> 00:36:16,340 finia nombro de aferoj ĝi povas fari por unuo de tempo. 816 00:36:16,340 --> 00:36:19,170 Do se estas pli personoj en la mondo batante via servilo, 817 00:36:19,170 --> 00:36:21,750 hazarde ensalutanta malĝuste, egale bone, se vi 818 00:36:21,750 --> 00:36:23,254 povas subteni tiun ŝarĝon vian servilon. 819 00:36:23,254 --> 00:36:25,420 Plus, speciale sur moveblaj device-- Se vi iam 820 00:36:25,420 --> 00:36:29,190 ensaluti my.harvard aŭ Yale netid aŭ simile, 821 00:36:29,190 --> 00:36:32,330 tie estas tio la latencia kun multaj retejoj kiel tiu, per kiu ĝi prenas, 822 00:36:32,330 --> 00:36:34,110 kiel, diable dua aŭ du foje. 823 00:36:34,110 --> 00:36:37,979 Kaj tiam, mia Dio, se vi mistype, tiam vi devas bati reen kaj refari ĝin. 824 00:36:37,979 --> 00:36:40,520 Do ekzistas latencia, speciale sur malrapidaj rilatoj de reto. 825 00:36:40,520 --> 00:36:43,030 Sed Ĝavoskripto, ĉar ĝi kuras en la kliento 826 00:36:43,030 --> 00:36:46,720 kaj ne bezonas iri tien kaj reen trans potenciale malrapidaj interreto 827 00:36:46,720 --> 00:36:49,780 konekto, Vi povas akiri preskaŭ _instantaneous_ sugestoj. 828 00:36:49,780 --> 00:36:50,760 >> Do ni rigardu tiun. 829 00:36:50,760 --> 00:36:54,280 Lasu min malfermi formo-0 kaj rigardi HTML. 830 00:36:54,280 --> 00:36:56,040 Kaj ni simple vidos kio okazas. 831 00:36:56,040 --> 00:36:59,460 Tiu estas formo kies ago estas register.php. 832 00:36:59,460 --> 00:37:01,530 Mi nur uzante tiom ke mi povus vidi la URL. 833 00:37:01,530 --> 00:37:05,030 Sed por pasvortoj, ni volas certe volas ŝanĝi ĉi sendi fakte. 834 00:37:05,030 --> 00:37:06,910 Jen eniga kampo de tipo teksto. 835 00:37:06,910 --> 00:37:09,050 Jen alia enigo kampo de tipo pasvorton. 836 00:37:09,050 --> 00:37:13,150 Jen, se vi neniam vidis, enigaĵoj de tipo markobutono. 837 00:37:13,150 --> 00:37:15,250 >> Sed ne estas JavaScript tie whatsoever. 838 00:37:15,250 --> 00:37:18,170 Tiu estas nur HTML kiu iras al register.php. 839 00:37:18,170 --> 00:37:21,020 Sed en versio, kie mi iris repreni tiuj popo-ups, 840 00:37:21,020 --> 00:37:23,010 ni vidu kio reale okazas tie. 841 00:37:23,010 --> 00:37:26,757 En versio unu, kio Mi tuj Konsideru mi 842 00:37:26,757 --> 00:37:29,340 pensis mi povis ekhalti sufiĉe kun sufiĉe da vortoj, sed mi kuris eksteren. 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> En versio one-- tie ni iras. 845 00:37:38,590 --> 00:37:43,180 En versio unu, rimarki la following-- kaj ne estas la plej bona efektivigo, 846 00:37:43,180 --> 00:37:44,420 sed ĝi estas mia unua. 847 00:37:44,420 --> 00:37:47,680 Rimarku ke sub la formon, mi havas skripton etikedo. 848 00:37:47,680 --> 00:37:49,430 Kaj skripto etikedo signifas, hey, retumilo, tie 849 00:37:49,430 --> 00:37:52,340 venas iu kodo en, tipe, Ĝavoskripto. 850 00:37:52,340 --> 00:37:54,420 Kaj nun, rimarki kion mi faras. 851 00:37:54,420 --> 00:37:59,070 Sur line-- mi povas apenaŭ legi it-- linio 32, ĝi diras, 852 00:37:59,070 --> 00:38:01,420 var form-- tiom donu min ŝanĝiĝema nomita formo. 853 00:38:01,420 --> 00:38:05,049 Kaj tiam akiri document.getElementId de "registriĝo." 854 00:38:05,049 --> 00:38:05,590 Kio estas ĉi tio? 855 00:38:05,590 --> 00:38:07,290 Nu, lasu min malantaŭenigi tien. 856 00:38:07,290 --> 00:38:11,510 Kaj rimarki, ah, mi donis la formo elemento arbitran sed priskriba ideo 857 00:38:11,510 --> 00:38:13,050 de registriĝo. 858 00:38:13,050 --> 00:38:16,820 Do tio donas min variablo kiu permesas min ekpreni tiu nodo, 859 00:38:16,820 --> 00:38:19,580 ke rektangulo en la arbo nomata formo. 860 00:38:19,580 --> 00:38:24,460 form.onsubmit rimedoj, hej retumilo, registri eventon aŭskultanto 861 00:38:24,460 --> 00:38:25,470 sur tiu formo. 862 00:38:25,470 --> 00:38:28,890 En aliaj vortoj, kiam tiu formo estas prezentita, ekzekuti la sekvan kodon. 863 00:38:28,890 --> 00:38:30,810 Ĝi ne bezonas nomon ĉar kial vi devas scii la nomon? 864 00:38:30,810 --> 00:38:32,880 Vi nur bezonas scii kio ekzekuti, ergo 865 00:38:32,880 --> 00:38:35,610 ĝi estas anonima aŭ lambda funkcio. 866 00:38:35,610 --> 00:38:37,632 Kaj tio funkcio estas ĉiuj tiuj linioj tie. 867 00:38:37,632 --> 00:38:40,840 Kaj nun, por esti honesta, kvankam vi eble ne iam skribita Ĝavoskripto 868 00:38:40,840 --> 00:38:44,200 antaŭe, ĝi estas nur C kaj PHP logiko. 869 00:38:44,200 --> 00:38:51,720 Do se form.email.value == "" - do se la retpoŝto kampo estas malplena, 870 00:38:51,720 --> 00:38:54,980 krias al la uzanto kun "Vi devas provizi vian retpoŝtadreson. " 871 00:38:54,980 --> 00:38:58,980 Else se form.password.value estas malplenan krias al la uzanto, 872 00:38:58,980 --> 00:39:00,400 "Vi devas provizi vian pasvorton." 873 00:39:00,400 --> 00:39:04,240 >> Pli interese logike, se form.password.value ne 874 00:39:04,240 --> 00:39:08,630 egala form.confirmation.value-- kien konfirmo venas? 875 00:39:08,630 --> 00:39:09,470 Lasu min malantaŭenigi. 876 00:39:09,470 --> 00:39:12,870 Nu, mi alvokis tiun enigo kampo tie pasvorton. 877 00:39:12,870 --> 00:39:15,180 Mi vokas ĉi tiu tie konfirmo. 878 00:39:15,180 --> 00:39:17,850 Mi povus esti nomita ĝi Pasvorto du aŭ io alia. 879 00:39:17,850 --> 00:39:20,560 Mi nur logike kontrolanta ke tiuj du estas la sama. 880 00:39:20,560 --> 00:39:25,760 Else-- rezultas tiu ĉi estas sinjoro Boole again-- Bulea valoro, la markobutonon. 881 00:39:25,760 --> 00:39:29,810 Do se mi diras, ekkrion point-- se ne form.agreement.checked, 882 00:39:29,810 --> 00:39:31,820 krias al la uzanto tiel. 883 00:39:31,820 --> 00:39:34,470 >> Do tiu sintakso vi vidos estas tre komunaj en JavaScript, 884 00:39:34,470 --> 00:39:35,970 kie vi havas tiun punktita skribmaniero. 885 00:39:35,970 --> 00:39:37,460 Vi komencas kun objekto tie. 886 00:39:37,460 --> 00:39:41,430 Vi plonĝi en profundan al al propraĵo kiel pasvorto. 887 00:39:41,430 --> 00:39:43,280 Kaj tiam vi ricevas ĉe lia reala valoro. 888 00:39:43,280 --> 00:39:45,830 Kaj cetere, jen estas la enigo. 889 00:39:45,830 --> 00:39:47,310 Jen la nomo pasvorton. 890 00:39:47,310 --> 00:39:50,860 Kaj ĝia valoro estas kion ajn la homa efektive entajpis. 891 00:39:50,860 --> 00:39:53,610 >> Do en ĉiuj tiuj kazoj, mi revenis falsaj. 892 00:39:53,610 --> 00:39:55,800 Sed se ne, mi reveni vera. 893 00:39:55,800 --> 00:39:58,030 Kaj tial nun ni vidas konvinka uzo de kiam 894 00:39:58,030 --> 00:40:00,620 vi revenus perfidas ĉesi kion la uzanto faras 895 00:40:00,620 --> 00:40:03,200 kaj el li aŭ ŝi elektas denove aŭ tajpi denove. 896 00:40:03,200 --> 00:40:05,870 Alie, ni revenas vera. 897 00:40:05,870 --> 00:40:08,585 >> Kaj lasu min enkonduki unu alia varianto de ĉi nur 898 00:40:08,585 --> 00:40:13,140 semi iun komprenon de tio. 899 00:40:13,140 --> 00:40:16,850 Nu, en versio 2 de tiu, formo-2-- Mi tion faros kun ondo de mano. 900 00:40:16,850 --> 00:40:19,920 Tio estas, por tiuj scivolema, la jQuery versio, 901 00:40:19,920 --> 00:40:23,330 tiuj el vi kiuj volos dabble en tiu aparta biblioteko. 902 00:40:23,330 --> 00:40:25,145 Sed ni start-- kaj demandojn? 903 00:40:25,145 --> 00:40:29,230 Lasu min paŭzo por momento ĉar kiu estis rapida kaj tre. 904 00:40:29,230 --> 00:40:32,610 >> Sed la bela afero estas, ke ĉiuj de la kodo estas preskaux la sama. 905 00:40:32,610 --> 00:40:33,985 La nova materialo estas kio estas la dom? 906 00:40:33,985 --> 00:40:35,115 Kio tio estas ortanguloj? 907 00:40:35,115 --> 00:40:35,990 Kion signifas tiuj nodoj? 908 00:40:35,990 --> 00:40:37,540 Kio estas anonima funkcio? 909 00:40:37,540 --> 00:40:38,830 Kio okazaĵo traktilo? 910 00:40:38,830 --> 00:40:43,480 Sed dankeme, plej de tio estas simple plena cirklo de, diru, semajno nulo. 911 00:40:43,480 --> 00:40:43,980 Bone. 912 00:40:43,980 --> 00:40:46,070 Do io iomete pli interesa? 913 00:40:46,070 --> 00:40:49,340 Nu, unue, lasu min iri antaŭen kaj malfermu Google Maps. 914 00:40:49,340 --> 00:40:53,360 Kaj vi rimarkos ke dum kelka momento, en la dua partio, 915 00:40:53,360 --> 00:40:55,930 rimarki kio okazas kiam Mi klakas sufiĉe rapide. 916 00:40:55,930 --> 00:40:59,720 Kaj tiu rilato en Harvard estas tiel rapide ke vi ne vere rimarkas ĝin. 917 00:40:59,720 --> 00:41:04,469 Sed kion vi ia speco de vidos se mi klakas kaj treni vere rapide? 918 00:41:04,469 --> 00:41:07,010 Tiuj el vi rigardi en linio, se vi malrapidigi tiun al 0.5x rapido, 919 00:41:07,010 --> 00:41:09,640 vi povas vidi ĉi bona. 920 00:41:09,640 --> 00:41:13,550 >> Kio okazis ĝuste antaŭ mi klakis kaj trenis? 921 00:41:13,550 --> 00:41:15,900 Mi provu here-- lasu min fari io alia, kiel 90210. 922 00:41:15,900 --> 00:41:17,550 Ni iru malproksimen. 923 00:41:17,550 --> 00:41:19,000 Tio estis vere rapida, tro. 924 00:41:19,000 --> 00:41:22,460 Kion pri Disney Mondo? 925 00:41:22,460 --> 00:41:23,190 Tie ni marŝos. 926 00:41:23,190 --> 00:41:23,690 BONE. 927 00:41:23,690 --> 00:41:26,030 Kion vi vidis por fendi dua? 928 00:41:26,030 --> 00:41:27,200 Ĝuste, kiel, kvadratoj, justa? 929 00:41:27,200 --> 00:41:28,930 Anstataŭaĵojn por kaheloj? 930 00:41:28,930 --> 00:41:30,270 >> Nu, kio okazas ĉi tie? 931 00:41:30,270 --> 00:41:35,410 Google Maps estas bela ekzemplo de tiu teknologio kiu nomiĝas AJAX. 932 00:41:35,410 --> 00:41:38,510 Kaj tio estas kie ni komencos uzi la JavaScript en aparte 933 00:41:38,510 --> 00:41:39,277 alloga maniero. 934 00:41:39,277 --> 00:41:41,610 Reen en la tago, Estis ĉi tiu retejo nomis MapQuest. 935 00:41:41,610 --> 00:41:44,120 Kaj mi prenis ekrankopio de tiu de la 1990- 936 00:41:44,120 --> 00:41:45,820 kie se vi volis rigardi supren tie sur la mapo, 937 00:41:45,820 --> 00:41:48,590 vi estus laŭvorte klaku sago supre ĉe la pinto kiu montris vin 938 00:41:48,590 --> 00:41:49,870 malsama kvadrato de la mapo. 939 00:41:49,870 --> 00:41:51,790 Se vi volis iru maldekstren, vi klakis sagon kiu montris vin 940 00:41:51,790 --> 00:41:53,210 malsama kvadrato de la mapo. 941 00:41:53,210 --> 00:41:54,840 Kaj iuj retejoj ankoraŭ faras ĉi hodiaŭ. 942 00:41:54,840 --> 00:41:57,820 Sed eĉ MapQuest alvenis bona, kiel Google Maps. 943 00:41:57,820 --> 00:42:01,880 >> Anstataŭe, kio estas pli bona tiuj tagoj estas retejoj kiuj uzas AJAX. 944 00:42:01,880 --> 00:42:04,510 AJAX-- alie konata kiel Asynchronous JavaScript kaj XML, 945 00:42:04,510 --> 00:42:08,370 kio estas nur fantazio maniero diri teknologio aŭ tekniko kiu 946 00:42:08,370 --> 00:42:14,200 permesas foliumilo uzante JavaScript fari aldonan HTTP petojn 947 00:42:14,200 --> 00:42:16,390 post la paĝo estas ŝarĝita. 948 00:42:16,390 --> 00:42:17,479 Do kio faras ĉi tiun mezumon? 949 00:42:17,479 --> 00:42:19,270 Nu, ĝi estus speco de ĝena en Gmail 950 00:42:19,270 --> 00:42:21,103 se ĉiufoje kiam vi volis kontroli vian poŝton, 951 00:42:21,103 --> 00:42:24,940 vi estis laŭlitere frapi Kontrolo-R aŭ Komando-R aŭ klaku Reŝarĝi butono 952 00:42:24,940 --> 00:42:26,580 kaj la tuta Darn paĝo devus freŝigi. 953 00:42:26,580 --> 00:42:26,800 Dekstra? 954 00:42:26,800 --> 00:42:28,460 Estus ekbrili blanka probable por dua. 955 00:42:28,460 --> 00:42:30,043 Vi vidus la stulta progreso trinkejo. 956 00:42:30,043 --> 00:42:33,170 Kaj ĝuste al vidi se vi havas novan poŝto, la tuta retpaĝo kaj la URL 957 00:42:33,170 --> 00:42:34,580 vi estas ĉe devus freŝigi. 958 00:42:34,580 --> 00:42:35,960 >> Sed tio ne estas kion okazas en Gmail. 959 00:42:35,960 --> 00:42:36,459 Dekstra? 960 00:42:36,459 --> 00:42:40,300 Kiam vi ricevas novan retpoŝton en Gmail, kio okazas sur la ekrano? 961 00:42:40,300 --> 00:42:41,480 Ĝi nur aperas, dekstra? 962 00:42:41,480 --> 00:42:44,280 Ĝi ĵus magie aperas kiel novan vicon en la tabelo. 963 00:42:44,280 --> 00:42:47,030 Ke reale engaĝas deca kvanto de komplekseco. 964 00:42:47,030 --> 00:42:51,892 Fakte, se vi pensas pri tiu arbo, kiu kvankam estas simpla tien, 965 00:42:51,892 --> 00:42:54,100 Gmail-- kaj mi devas rigardi ĉe la kodo esti sure-- 966 00:42:54,100 --> 00:42:58,710 probable havas HTML tablo aŭ eble neordigitan liston ke ĝi bildigas 967 00:42:58,710 --> 00:43:01,060 ĉiu el viaj inboxes retpoŝtoj kiel. 968 00:43:01,060 --> 00:43:04,050 >> Kaj do se vi imagu ĉi tie estas arbo en memoro kiam vi estas 969 00:43:04,050 --> 00:43:09,050 uzante Gmail kiu aspektas ia speco de kiel tiu, kiam Google rimarkas, ooh, 970 00:43:09,050 --> 00:43:12,770 vi havas novan retmesaĝon, ĝi ne volas rekonstrui la tutan arbon. 971 00:43:12,770 --> 00:43:16,430 Prefere, ĝi volas trovi la nodon en la arbo kiu reprezentas vian enirkesto 972 00:43:16,430 --> 00:43:18,580 kaj simple enmeti novan nodon. 973 00:43:18,580 --> 00:43:24,640 >> Do tre simila al pset kvin, kie vi devis enmeti nodoj en hash tablo, 974 00:43:24,640 --> 00:43:28,410 simile faras Google, tra JavaScript kodo kiu skribis, 975 00:43:28,410 --> 00:43:31,890 través tiu arbo, eltrovi kie estas ke enirkesto parto de la fenestro, 976 00:43:31,890 --> 00:43:33,440 kaj tiam enmeti novan vicon. 977 00:43:33,440 --> 00:43:37,460 Kaj nova vico nur signifas unu aŭ pli novaj nodoj en arbo. 978 00:43:37,460 --> 00:43:41,340 >> Kaj tiel AJAX estas ĉi tekniko kiu permesas por ĝuste tion. 979 00:43:41,340 --> 00:43:44,440 Kiam vi vizitis URL, tamen freneza longe ĝi estas, 980 00:43:44,440 --> 00:43:46,472 kaj unufoje la paĝo havas estis ŝarĝitaj, vi povas ankoraŭ 981 00:43:46,472 --> 00:43:48,430 ekpreni pli datumoj de la internet-- ĉu ĝi estas 982 00:43:48,430 --> 00:43:52,460 retmesaĝon aŭ brikon de map-- Ekpreni ĝin malantaŭ la scenoj 983 00:43:52,460 --> 00:43:55,290 kaj poste enmeti ĝin en la paĝon tiel ke la homaj ne vere 984 00:43:55,290 --> 00:43:56,910 atendi ĝin. 985 00:43:56,910 --> 00:43:58,980 >> Facebook Messenger laboras sammaniere. 986 00:43:58,980 --> 00:44:01,562 Ajna numero de aliaj websites-- ho, fakte, eĉ ĉi. 987 00:44:01,562 --> 00:44:04,270 Mi volas diri, tiu estas, sincere, ia ĝena karakterizaĵo tiuj tagoj. 988 00:44:04,270 --> 00:44:07,500 Se mi ekserĉi por cats-- ĉi estas speco de horora sperto. 989 00:44:07,500 --> 00:44:08,990 Ĝi ĵus komencas serĉanta min. 990 00:44:08,990 --> 00:44:10,050 Nu kion ĝi faras? 991 00:44:10,050 --> 00:44:12,920 La URL ne vere ŝanĝis ekde mi komencis tajpadon. 992 00:44:12,920 --> 00:44:17,330 Sed kio okazas trans la wire-- OK, hmm interese. 993 00:44:17,330 --> 00:44:20,470 Kio okazas trans la drato tie nur ricevas weirder. 994 00:44:20,470 --> 00:44:21,090 >> BONE. 995 00:44:21,090 --> 00:44:24,670 Do lasu min antaŭeniri kaj inspekti elemento kaj iras al la Reto langeto 996 00:44:24,670 --> 00:44:27,040 kaj provi fari tiun teknika kaj malpli pri katoj. 997 00:44:27,040 --> 00:44:32,595 Kiel mi tajpas, laŭvorte, katoj kaj-- kio okazas 998 00:44:32,595 --> 00:44:37,710 per-- mi ne tuj alklaku tio. 999 00:44:37,710 --> 00:44:38,210 Bone. 1000 00:44:38,210 --> 00:44:44,280 Do malsupren tie, kio okazas ĉiun tempo mi tajpas karakteron, ŝajne? 1001 00:44:44,280 --> 00:44:45,000 Kiel, malalta nivelo? 1002 00:44:45,000 --> 00:44:47,860 Kio okazas kun ĉiu el tiuj karakteroj mi tajpas ĉe mia klavaro? 1003 00:44:47,860 --> 00:44:48,359 Yeah? 1004 00:44:48,359 --> 00:44:50,950 Spektantaro: [inaudible]. 1005 00:44:50,950 --> 00:44:52,340 >> DAVID Malan: Ĝuste. 1006 00:44:52,340 --> 00:44:55,600 Ĉiu de tiuj karakteroj estas iri al Google, unuope. 1007 00:44:55,600 --> 00:44:58,490 Ili konstruas supren kordo sur ilia servilo kiu reprezentas 1008 00:44:58,490 --> 00:44:59,936 ĉion mi jam tajpis en tiom. 1009 00:44:59,936 --> 00:45:01,810 Kaj ĉiufoje mi tajpas alian karakteron, ili 1010 00:45:01,810 --> 00:45:04,530 uzi sian sekretan saŭcon de serĉu algoritmon kaj eltrovi, 1011 00:45:04,530 --> 00:45:07,370 tio signifas tiu kato paĝon aŭ tiu kato paĝo aŭ simile? 1012 00:45:07,370 --> 00:45:10,620 Do iusence, ĝi provizas min per bona sperto en tiu mi ne agos 1013 00:45:10,620 --> 00:45:11,860 bezonas kompletigi mian penson. 1014 00:45:11,860 --> 00:45:14,440 Kaj ja, ĝi estas utila aferon, autocompletar ĝenerale. 1015 00:45:14,440 --> 00:45:17,690 Se ilia algoritmoj estas sufiĉe bona kaj se miaj serĉoj estas evidenta sufiĉe, 1016 00:45:17,690 --> 00:45:19,300 Mi ne devas tajpi la tutan vorton. 1017 00:45:19,300 --> 00:45:22,110 Ili tuj diru al mi kio Estas mi fakte sercxis. 1018 00:45:22,110 --> 00:45:25,940 Do kion Google nomas momenteto serĉo estas ĝuste uzi AJAX, 1019 00:45:25,940 --> 00:45:30,820 uzante kodon kiu permesas al ili peti aldona enhavo tra retumilo 1020 00:45:30,820 --> 00:45:34,026 malantaŭ la scenoj uzante ĉi nova lingvo, Ĝavoskripto. 1021 00:45:34,026 --> 00:45:35,400 Do ni havas paron minutoj. 1022 00:45:35,400 --> 00:45:37,710 Kaj lasu min nomas mian buddy Colton solajn sur la scenejo, 1023 00:45:37,710 --> 00:45:40,090 ekde sxajnis aparte amuza lastfoje 1024 00:45:40,090 --> 00:45:42,290 enkonduki teknologion ke iuj el vi 1025 00:45:42,290 --> 00:45:44,769 esprimis intereson en por fina projektoj. 1026 00:45:44,769 --> 00:45:47,310 Ni pensis ĝin estus amuza alporti supren volontulo, kvankam, hodiaŭ 1027 00:45:47,310 --> 00:45:50,074 montri vin Krom ĉi tio permesas you-- yeah, 1028 00:45:50,074 --> 00:45:50,990 Mi vidis tiun manon unue. 1029 00:45:50,990 --> 00:45:52,900 Venu supren. 1030 00:45:52,900 --> 00:45:53,560 Tre bone farita. 1031 00:45:53,560 --> 00:45:55,035 Bona laboro. 1032 00:45:55,035 --> 00:45:57,410 Mi tuj projektos ĉi sur la ekranon en nur momento. 1033 00:45:57,410 --> 00:45:58,150 Kio estas via nomo por ĉiuj? 1034 00:45:58,150 --> 00:45:59,180 >> EFA: Mi Efa. 1035 00:45:59,180 --> 00:45:59,410 >> DAVID Malan: Etha? 1036 00:45:59,410 --> 00:45:59,785 >> EFA: Efa. 1037 00:45:59,785 --> 00:46:00,160 >> DAVID Malan: Efa? 1038 00:46:00,160 --> 00:46:00,730 >> EFA: Yeah. 1039 00:46:00,730 --> 00:46:01,250 >> DAVID Malan: Nice vidi vin. 1040 00:46:01,250 --> 00:46:01,600 Bone. 1041 00:46:01,600 --> 00:46:02,590 Lasu min preni tiun preta. 1042 00:46:02,590 --> 00:46:04,423 Venu sur super al la mezo kun Colton tie. 1043 00:46:04,423 --> 00:46:07,050 Kio Colton havas en liaj manoj hodiaŭ estas kontrolo remoto. 1044 00:46:07,050 --> 00:46:10,440 Do anstataŭ nur staras tie en tridimensia mondo ĉirkaŭrigardante 1045 00:46:10,440 --> 00:46:14,080 kiel Colton faris, nun Efa povas fakte ĉirkaŭpromeni irante supren, 1046 00:46:14,080 --> 00:46:16,689 sube, maldekstra, dekstra kaj kiel Nintendo aŭ Xbox regilo. 1047 00:46:16,689 --> 00:46:18,230 EFA: Mi tuj fali de la scenejo. 1048 00:46:18,230 --> 00:46:20,500 DAVID Malan: mi volas staru malglate super tie. 1049 00:46:20,500 --> 00:46:21,991 Sed tio estas risko. 1050 00:46:21,991 --> 00:46:22,490 BONE. 1051 00:46:22,490 --> 00:46:25,690 Do iru antaŭen kaj metis tiujn sur. 1052 00:46:25,690 --> 00:46:29,315 Lasu min kaj ŝanĝi al la ekrano tie. 1053 00:46:29,315 --> 00:46:30,670 Lasu min dim la lumoj. 1054 00:46:30,670 --> 00:46:32,780 Kaj Colton, lasu min venu stari apud vi. 1055 00:46:32,780 --> 00:46:35,520 >> Ĉu vi volas klarigi tie kun la mic kion ni faras? 1056 00:46:35,520 --> 00:46:36,380 Jen. 1057 00:46:36,380 --> 00:46:37,280 >> COLTON: Sure. 1058 00:46:37,280 --> 00:46:39,980 Do ĝuste nun ni estas ŝargado supren la Oculus, 1059 00:46:39,980 --> 00:46:43,070 Mi supozas operating-- ne funkcias sistemo, sed la ĉefa programo, kie 1060 00:46:43,070 --> 00:46:46,630 vi povas aliri ĉiujn ludojn kaj apps kiu estas en via biblioteko. 1061 00:46:46,630 --> 00:46:50,060 Do nun, ĝi dirus frapeti la touchpad komenci. 1062 00:46:50,060 --> 00:46:53,430 Touchpad tuj estos sur la dekstra flanko de la aŭdilo. 1063 00:46:53,430 --> 00:46:54,569 Do iru antaŭen kaj tap-- 1064 00:46:54,569 --> 00:46:55,110 EFA: Ho viro. 1065 00:46:55,110 --> 00:46:56,443 DAVID Malan: Yeah, tie vi iras. 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 La kvalito Efa vidanto estas multe pli alta kvalito. 1068 00:47:02,460 --> 00:47:03,831 Tiu estas ĝuste la Wi-Fi ĉi tie. 1069 00:47:03,831 --> 00:47:05,580 COLTON: Do kio vi estas tuj deziras fari 1070 00:47:05,580 --> 00:47:08,350 estas rigardi al la supro dekstre de la ekrano. 1071 00:47:08,350 --> 00:47:10,420 Yep, ke ludo sur la plejsupro pravas. 1072 00:47:10,420 --> 00:47:14,780 Kaj tiam kiam vi elektante ĝi, frapeti la touchpad denove. 1073 00:47:14,780 --> 00:47:17,010 Mi pensas ĝian Dreadhalls. 1074 00:47:17,010 --> 00:47:20,820 Kaj tiam tie estas a-- tie, lasu mi tenas viajn okulvitrojn por vi. 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> Do mi ĵus donis al li regilo. 1077 00:47:25,790 --> 00:47:28,886 Do nun li povas kontroli la ludon. 1078 00:47:28,886 --> 00:47:30,510 Li povas movi kaj da tio. 1079 00:47:30,510 --> 00:47:31,968 Do iru antaŭen kaj rigardas supren al la pinto. 1080 00:47:31,968 --> 00:47:33,640 Vi devus vidi nova ludo. 1081 00:47:33,640 --> 00:47:36,310 Do iru antaŭen kaj vi povas fari tion. 1082 00:47:36,310 --> 00:47:39,320 Nun, vi devus povi regi mem kun la controlador, 1083 00:47:39,320 --> 00:47:43,860 tiel, kiam la ludo ŝarĝas supren tie. 1084 00:47:43,860 --> 00:47:46,356 Tio povas esti iom timiga. 1085 00:47:46,356 --> 00:47:47,300 >> EFA: Nun vi rakontu al mi. 1086 00:47:47,300 --> 00:47:50,132 BONE. 1087 00:47:50,132 --> 00:47:51,080 >> COLTON: Bone. 1088 00:47:51,080 --> 00:47:52,650 Do konfirmi ke vi povas movi. 1089 00:47:52,650 --> 00:47:52,750 BONE. 1090 00:47:52,750 --> 00:47:53,583 Vi povas movi. 1091 00:47:53,583 --> 00:47:54,300 Perfekta. 1092 00:47:54,300 --> 00:47:56,470 Do se vi rigardas malsupren, vi havas mapon. 1093 00:47:56,470 --> 00:47:58,170 Mapo montras vin kie vi estas. 1094 00:47:58,170 --> 00:47:59,720 Vi povas rigardi ĉirkaŭ la ĉambro. 1095 00:47:59,720 --> 00:48:01,440 Vi povas tute turni ĉirkaŭe. 1096 00:48:01,440 --> 00:48:02,128 Jes, ĝuste. 1097 00:48:02,128 --> 00:48:02,627 Turnu. 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> Do rigardu al via maldekstro. 1100 00:48:07,125 --> 00:48:09,875 Mi kredas, ke estas io vi povas kapti sur barelo en la ĉambro. 1101 00:48:09,875 --> 00:48:11,709 >> EFA: Kiel igi la mapi ekstere de la vojo? 1102 00:48:11,709 --> 00:48:12,375 COLTON: Rigardu. 1103 00:48:12,375 --> 00:48:12,980 Nur rigardu supren. 1104 00:48:12,980 --> 00:48:13,480 Bone. 1105 00:48:13,480 --> 00:48:13,765 Tie vi iros. 1106 00:48:13,765 --> 00:48:15,181 Nun iru antaŭen kaj nur turni ĉirkaŭe. 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 Do rigardu pluen al via maldekstro. 1109 00:48:24,620 --> 00:48:25,530 Konservu movanta lasita. 1110 00:48:25,530 --> 00:48:26,960 Konservu rigardante lasis. 1111 00:48:26,960 --> 00:48:27,541 Daŭrigu. 1112 00:48:27,541 --> 00:48:28,040 Yeah. 1113 00:48:28,040 --> 00:48:28,720 >> EFA: Ho, ke vojo. 1114 00:48:28,720 --> 00:48:29,261 >> COLTON: Yeah. 1115 00:48:29,261 --> 00:48:30,999 Piediro al ĝi kun la controlador. 1116 00:48:30,999 --> 00:48:31,540 Tie vi iros. 1117 00:48:31,540 --> 00:48:32,790 Nun ĝi devus diri repreni ĝin. 1118 00:48:32,790 --> 00:48:33,360 Tie vi iros. 1119 00:48:33,360 --> 00:48:34,290 Repreni ĝin. 1120 00:48:34,290 --> 00:48:35,550 Bone. 1121 00:48:35,550 --> 00:48:38,286 Nun, ni foriru el ĉi tiu ĉambro. 1122 00:48:38,286 --> 00:48:42,209 Antaŭen kaj piediras al la pordo. 1123 00:48:42,209 --> 00:48:45,000 Do vi tuj hold-- diras tenas la butonon por devigi ĝin malferma. 1124 00:48:45,000 --> 00:48:46,333 Do iru antaŭen kaj tenas la butonon. 1125 00:48:46,333 --> 00:48:48,250 Yep, devigante ĝin malfermi. 1126 00:48:48,250 --> 00:48:48,750 Bone. 1127 00:48:48,750 --> 00:48:49,410 Bona laboro. 1128 00:48:49,410 --> 00:48:50,826 Nun ni promenis ekster la ĉambro. 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 Do mi tuj forlasi la resto supren al vi kaj vidi kion vi eltrovas. 1131 00:49:01,366 --> 00:49:02,865 EFA: mi ne tuj en la malluma ĉambro. 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 Ho, atendu. 1134 00:49:07,815 --> 00:49:09,314 Nun mi devas iri malsupren la malluma salono? 1135 00:49:09,314 --> 00:49:10,785 OK, mi tuj revenos [inaudible]. 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON: Bone. 1138 00:49:16,270 --> 00:49:17,560 Iuj pli ítems al repreni. 1139 00:49:17,560 --> 00:49:19,370 Aspektas kiel iuj moneroj. 1140 00:49:19,370 --> 00:49:22,242 Tio seruro pioĉon. 1141 00:49:22,242 --> 00:49:24,200 Do se vi trovas ŝlosita pordon, vi povas uzi tion. 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 Ĉu vi timas? 1144 00:49:28,380 --> 00:49:29,371 >> EFA: Ankoraŭ ne. 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-- yeah. 1148 00:49:35,497 --> 00:49:37,330 Nur ŝajnigi ke vi estas fakte staras tie. 1149 00:49:37,330 --> 00:49:39,580 Kaj se vi turnas around-- vi devas alkutimiĝi al ĝi. 1150 00:49:39,580 --> 00:49:40,752 Sed tio havas sencon. 1151 00:49:40,752 --> 00:49:43,960 DAVID Malan: Dum Efa daŭre ludi, ĉar ni povis fari tiun tutan tagon, 1152 00:49:43,960 --> 00:49:45,381 ni povas ĉiuj pintoj de siaj piedoj el tie. 1153 00:49:45,381 --> 00:49:48,130 Sed ni ja havas du aliaj paroj, se vi ŝatus veni kaj ludi. 1154 00:49:48,130 --> 00:49:49,980 Alie, ni vidos vi apud merkrede. 1155 00:49:49,980 --> 00:49:51,354 Dankon al nia volontulo hodiaŭ. 1156 00:49:51,354 --> 00:49:52,101 [Aplaŭdo] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [MUZIKO - "Seinfeld TEMO"] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 Parolanto 1: Nu, mi estas metante nova PL levigxus tiel. 1161 00:50:00,180 --> 00:50:01,800 Mi ĵus ŝanĝis la OLPF-- 1162 00:50:01,800 --> 00:50:03,980 >> Parolanto 2: Do kio ĝuste vi faras? 1163 00:50:03,980 --> 00:50:07,063 >> Parolanto 1: Nu, ĉiu de these-- tien, mi montros al vi ĉi tiu en ĉi tie. 1164 00:50:07,063 --> 00:50:08,690 Vi povas vidi ĝin ĉi tie. 1165 00:50:08,690 --> 00:50:09,510 >> Parolanto 3: mi opinias min bona kun tiuj. 1166 00:50:09,510 --> 00:50:09,933 Vi volas iun pli? 1167 00:50:09,933 --> 00:50:11,325 >> Parolanto 4: Ne, mi estas bona. [Inaudible]. 1168 00:50:11,325 --> 00:50:12,200 >> Parolanto 3: Ne, [inaudible]. 1169 00:50:12,200 --> 00:50:12,700 Havas kelkajn. 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 Parolanto 1: Malsama koloro. 1172 00:50:22,290 --> 00:50:22,890 Parolanto 2: OK. 1173 00:50:22,890 --> 00:50:26,690 Parolanto 1: Do finfine kio faras estas ĝi ĝustigas la koloro of--