1 00:00:00,000 --> 00:00:02,862 >> [Prehrávanie hudby] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVID Malan: Toto je CS50. 4 00:00:11,580 --> 00:00:12,880 To je začiatok týždňa deväť. 5 00:00:12,880 --> 00:00:15,797 A to je to, čo by malo Bol 200. výročie narodenia pána Boole je. 6 00:00:15,797 --> 00:00:17,630 Tak toto je chlapi , Ktorým sme sa zmieňoval 7 00:00:17,630 --> 00:00:21,800 docela niekedy o použití Booleovské premenné true a false, 8 00:00:21,800 --> 00:00:22,910 1 a 0 a tak. 9 00:00:22,910 --> 00:00:25,270 A to bolo to Google Pocta ním dnes. 10 00:00:25,270 --> 00:00:26,489 On by sa obrátili 200. 11 00:00:26,489 --> 00:00:28,280 Takže ak chcete Pripojte sa k nám na obed CS50, 12 00:00:28,280 --> 00:00:30,279 sa pozrieť na tento odkaz na internetových stránkach Course. 13 00:00:30,279 --> 00:00:33,580 A také tváre a priateľom ako Tieto vás čakajú tu v Cambridge. 14 00:00:33,580 --> 00:00:35,360 Tváre, ako sú tieto na vás čakajú v New Haven. 15 00:00:35,360 --> 00:00:37,800 A v skutočnosti, v Ken New Haven láskavo 16 00:00:37,800 --> 00:00:41,594 čo sa nazýva animovaný GIF of Eli tu na nedávny lunch-- GIF je doposiaľ 17 00:00:41,594 --> 00:00:44,260 iný grafický formát súboru, s ktorou ste familiar--, že 18 00:00:44,260 --> 00:00:46,300 vyzerá trochu niečo také. 19 00:00:46,300 --> 00:00:48,179 Takže len sled of-- OK. 20 00:00:48,179 --> 00:00:49,720 Nikto tu v Cambridgi sa smeje. 21 00:00:49,720 --> 00:00:51,720 Ale v New Haven, to je naozaj na smiech, že jo? 22 00:00:51,720 --> 00:00:52,350 Dobre. 23 00:00:52,350 --> 00:00:53,940 >> Takže sa k nám tam. 24 00:00:53,940 --> 00:00:55,900 Tu na Harvarde, konkrétne, túto stredu, 25 00:00:55,900 --> 00:00:59,480 ak ste druhák alebo nováčik even-- alebo dokonca junior-- myslenie tvorby 26 00:00:59,480 --> 00:01:01,563 prepínač do počítača veda, viem, že tam bude 27 00:01:01,563 --> 00:01:04,440 byť SK poradenstvo fair to Streda, krátko po tom, čo triedy 28 00:01:04,440 --> 00:01:08,040 v 4:00 hodín v počítači veda budova Maxwell Dworkin. 29 00:01:08,040 --> 00:01:11,890 Dáme na ihrisku je to webové stránky zajtra, rovnako. 30 00:01:11,890 --> 00:01:14,430 Donuts, ako mi bolo povedané, sa bude podávať. 31 00:01:14,430 --> 00:01:15,180 >> Dobre. 32 00:01:15,180 --> 00:01:18,790 Takže smiešny story-- ma strká okolo na internete, 33 00:01:18,790 --> 00:01:23,575 a našiel som pár starých archívov môjho bývalého webových stránkach. 34 00:01:23,575 --> 00:01:25,950 A ukazuje out-- okolo tohto čas, zdá sa, veľmi aktuálna 35 00:01:25,950 --> 00:01:28,910 od tej doby som pochopil, že voľby UC Chystáte sa zariadenie znova. 36 00:01:28,910 --> 00:01:32,230 Tak som sa uchádzal o UC, prehral nešťastne. 37 00:01:32,230 --> 00:01:34,770 A možno to bolo z časti prečo. 38 00:01:34,770 --> 00:01:37,600 Tak toto bola moja webové stránky v tej dobe. 39 00:01:37,600 --> 00:01:40,477 Z nejakého dôvodu, myslel som, že to dobrý nápad, než hovoriť ľuďom, 40 00:01:40,477 --> 00:01:43,310 čo môj platforme bolo a prečo mali hlasovať pre mňa, že majú 41 00:01:43,310 --> 00:01:47,770 kliknutím na tlačidlo pre vstup do zistili, že Informácie, čo pri spätnom pohľade je 42 00:01:47,770 --> 00:01:48,660 druh plazivý. 43 00:01:48,660 --> 00:01:50,910 Ja naozaj neviem, čo to bolo. 44 00:01:50,910 --> 00:01:53,140 >> Ale to rozhodne nie pomoc kampaň. 45 00:01:53,140 --> 00:01:56,874 Tiež som zistil, že senior rok-- som mal tento kalendár Muppet. 46 00:01:56,874 --> 00:01:58,540 Muppets boli trochu v móde vtedy. 47 00:01:58,540 --> 00:01:59,456 Alebo možno, že nie. 48 00:01:59,456 --> 00:02:01,790 Mal som kalendár Muppet späť. 49 00:02:01,790 --> 00:02:04,860 A ja si myslel, že to bude v pohode názve môj počítač v sieti Harvarde 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu. 51 00:02:07,460 --> 00:02:10,370 V tej dobe, všetci sme mali jednoznačne identifikovateľné názvy hostiteľov. 52 00:02:10,370 --> 00:02:13,150 A vy ste si mohli vybrať nejaký márnosť meno namiesto svojím vlastným menom. 53 00:02:13,150 --> 00:02:15,580 A ja som šiel s žabieho muža z nejakého dôvodu. 54 00:02:15,580 --> 00:02:19,040 >> A potom som started-- Strávil som veľa čas preklikne týchto odkazov 55 00:02:19,040 --> 00:02:20,280 toto ráno. 56 00:02:20,280 --> 00:02:24,690 A to bol môj asi strana, ktorý teraz trochu vyzerá rozkošný. 57 00:02:24,690 --> 00:02:28,210 Ale tiež to svedčí len ako ďaleko technológií prišiel. 58 00:02:28,210 --> 00:02:30,310 Myslím, späť v deň, 486 bolo niečo. 59 00:02:30,310 --> 00:02:34,090 V týchto dňoch, je to super, super, extra pomalý a dobre menej 60 00:02:34,090 --> 00:02:36,216 než by ste mohli mať vo vašom vlastné vrecká v týchto dňoch. 61 00:02:36,216 --> 00:02:38,465 Tam je viac na tam, že bol ešte trápne. 62 00:02:38,465 --> 00:02:39,770 Tak som si to nechať tak. 63 00:02:39,770 --> 00:02:42,640 Ale to bol môj prvý vpád do web-- oh, no. 64 00:02:42,640 --> 00:02:43,180 To nebolo. 65 00:02:43,180 --> 00:02:47,000 Môj prvý skutočný vpád do programovania webu Bol na tomto webe, ktorý som práve zabudol. 66 00:02:47,000 --> 00:02:50,620 V určitom okamihu, som sa naučil, ako sa aby opakujúce sa obrázky na pozadí. 67 00:02:50,620 --> 00:02:55,260 A tak som našiel obklady efektívne, ako hokejista, futbal a golf 68 00:02:55,260 --> 00:02:58,040 plesu, alebo čo to je pre webové stránky frosh IMS. 69 00:02:58,040 --> 00:03:01,390 A to bolo v skutočnosti, naozaj Prvý webový projekt, vzal som on-- 70 00:03:01,390 --> 00:03:03,880 Myslím, že druháku rok, junior rok-- 71 00:03:03,880 --> 00:03:07,622 potom, čo vzal CS50 a CS51, jeden spoločných následných o triedach. 72 00:03:07,622 --> 00:03:09,330 Som si všimol pri hľadaní cez archívy 73 00:03:09,330 --> 00:03:12,150 že jeden z mojich nástupcov a priatelia, Lee, trochu zmenila 74 00:03:12,150 --> 00:03:13,480 autorské práva pre seba. 75 00:03:13,480 --> 00:03:17,520 Ale toto bolo naozaj niečo, Mám vlastné hanbou. 76 00:03:17,520 --> 00:03:19,370 Ale v tej dobe, toto bol prvý webové stránky, 77 00:03:19,370 --> 00:03:22,220 ako som povedal pred pár týždňami, ktorým nováčik mohol 78 00:03:22,220 --> 00:03:24,350 zaregistrovať intramurální športy. 79 00:03:24,350 --> 00:03:27,950 A tak to dopadá že obrázky na pozadí 80 00:03:27,950 --> 00:03:29,530 rovnako ako, že nie sú až tak dobrý nápad. 81 00:03:29,530 --> 00:03:31,840 Ale web bol nový, a sme boli všetci experimentovali. 82 00:03:31,840 --> 00:03:34,310 A to je to, čo som sa zrejme robil v tej dobe. 83 00:03:34,310 --> 00:03:34,810 Dobre. 84 00:03:34,810 --> 00:03:38,020 Takže bez ďalších okolkov, zapneme kolesá dnes dať, naozaj, 85 00:03:38,020 --> 00:03:42,250 Posledným kúskom, ktorý ste mohli nájsť obzvlášť užitočné pre záverečných prác 86 00:03:42,250 --> 00:03:44,780 ale tiež to, že sa začne aby bol celý World Wide Web 87 00:03:44,780 --> 00:03:46,680 cítiť trochu zrozumiteľnejšie. 88 00:03:46,680 --> 00:03:49,460 V skutočnosti, budeme zavádzať ešte jeden programovací jazyk 89 00:03:49,460 --> 00:03:52,474 volal JavaScript, ktorý je podobný a líšia sa v rôznych spôsoboch 90 00:03:52,474 --> 00:03:54,140 z jazykov sme sa pozrel na tak ďaleko. 91 00:03:54,140 --> 00:03:55,807 >> Takže C, odvolanie, je to skompilovaný jazyk. 92 00:03:55,807 --> 00:03:57,473 Musíš spustiť pomocou prekladača. 93 00:03:57,473 --> 00:03:59,810 Získate zdrojový kód do objektov kódu alebo nuly a ones. 94 00:03:59,810 --> 00:04:03,000 A to sú nuly a tie, ktoré váš procesor, Central Processing Unit, 95 00:04:03,000 --> 00:04:04,360 skutočne pochopiť. 96 00:04:04,360 --> 00:04:06,610 PHP, naopak, nie je kompilované jazyk. 97 00:04:06,610 --> 00:04:08,772 To je čo? 98 00:04:08,772 --> 00:04:09,980 Je to interpretovaný jazyk. 99 00:04:09,980 --> 00:04:11,750 Takže tam je nejaký program nazvaný interpret, ktorý 100 00:04:11,750 --> 00:04:13,708 musí prečítať to-- zhora dole, vľavo right-- 101 00:04:13,708 --> 00:04:16,519 a zistiť, čo všetko Váš syntax robí a prostriedky, 102 00:04:16,519 --> 00:04:20,200 či už je to slučka alebo stav alebo akékoľvek iné číslo programovania 103 00:04:20,200 --> 00:04:20,740 konštrukty. 104 00:04:20,740 --> 00:04:22,210 Tak to je interpretovaný jazyk. 105 00:04:22,210 --> 00:04:23,910 >> Potom sme sa predstavil HTML. 106 00:04:23,910 --> 00:04:26,440 A HTML nie je ani programovací jazyk. 107 00:04:26,440 --> 00:04:28,110 Mali by sme hovoriť, čo? 108 00:04:28,110 --> 00:04:31,650 Značkovací jazyk, ktorý je len druh fantázie spôsob, ako hovoriť to 109 00:04:31,650 --> 00:04:35,820 nemá programovacie pojmy ako sme videli aj späť v deň Scratch. 110 00:04:35,820 --> 00:04:36,720 Neexistujú žiadne slučky. 111 00:04:36,720 --> 00:04:37,920 Neexistujú žiadne podmienky. 112 00:04:37,920 --> 00:04:40,820 Je to naozaj je jazyk o označovaní svoje dáta 113 00:04:40,820 --> 00:04:43,620 a formátovanie, alebo štruktúrovanie ho nejakým spôsobom. 114 00:04:43,620 --> 00:04:46,147 >> CSS, zatiaľ, obdobne nie je programovací jazyk. 115 00:04:46,147 --> 00:04:47,730 Je to ešte viac esteticky orientovaná. 116 00:04:47,730 --> 00:04:50,470 A to vám umožní triediť z doladiť veci, ako je veľkosť písma a farby 117 00:04:50,470 --> 00:04:51,850 a umiestnenie, a to všetko. 118 00:04:51,850 --> 00:04:52,370 Potom sme mali 119 00:04:52,370 --> 00:04:53,160 >> SQL. 120 00:04:53,160 --> 00:04:56,010 Takže SQL je naozaj programovací jazyk v nejakom zmysle, 121 00:04:56,010 --> 00:04:59,330 aj keď na mieru konkrétne k databázam. 122 00:04:59,330 --> 00:05:03,347 Ale aj keď sme len predstaviť vám vyberte a vložiť a odstrániť, a aktualizovať 123 00:05:03,347 --> 00:05:05,430 a pár druhých, Ukazuje sa môžete skutočne 124 00:05:05,430 --> 00:05:07,380 písať funkcie, alebo postupy, ako sa im 125 00:05:07,380 --> 00:05:11,270 volal, v SQL, ktoré vyzerajú a konajú celkom ako PHP a C funkcií. 126 00:05:11,270 --> 00:05:12,390 Takže viem, že tie, ktoré existujú. 127 00:05:12,390 --> 00:05:15,348 Ale my ani obťažovať s nimi ako sme práve poškrabať povrch tu. 128 00:05:15,348 --> 00:05:18,600 A potom JavaScript, posledný oficiálne predstavil naše jazyky. 129 00:05:18,600 --> 00:05:21,029 Takže JavaScript, tiež, je interpretovaný jazyk. 130 00:05:21,029 --> 00:05:23,070 A tých, ktorí poznajú, robiť Chcete ju rozlíšiť 131 00:05:23,070 --> 00:05:26,960 s niektorými charakteristikou z oboch C a PHP? 132 00:05:26,960 --> 00:05:28,300 Čo ho odlišuje? 133 00:05:28,300 --> 00:05:29,650 >> Divákov: To nie je zostavený. 134 00:05:29,650 --> 00:05:29,930 >> DAVID Malan: znova, povedz? 135 00:05:29,930 --> 00:05:31,200 >> Divákov: To nie je zostavený. 136 00:05:31,200 --> 00:05:31,930 >> DAVID Malan: To nie je zostavený. 137 00:05:31,930 --> 00:05:33,450 Takže to, tiež, je interpretovaný. 138 00:05:33,450 --> 00:05:34,760 Takže to nie je zostavený. 139 00:05:34,760 --> 00:05:37,210 Ale to robí to tak trochu ako PHP. 140 00:05:37,210 --> 00:05:39,545 Ale je to stále odlišné od PHP nejakým prekvapivým spôsobom, 141 00:05:39,545 --> 00:05:40,920 aspoň v tom, ako budeme používať. 142 00:05:40,920 --> 00:05:41,205 Jo? 143 00:05:41,205 --> 00:05:41,940 >> Divákov: To beží na strane klienta. 144 00:05:41,940 --> 00:05:44,000 >> DAVID Malan: To beží na strane klienta, zvyčajne. 145 00:05:44,000 --> 00:05:47,190 To je skutočne rozlišovaciu Charakteristické pre nás práve teraz. 146 00:05:47,190 --> 00:05:51,170 C bola na strane servera v tom zmysle, že sme urobili všetko, čo v CS50 IDE. 147 00:05:51,170 --> 00:05:53,630 PHP sa doteraz na strane servera, ak 148 00:05:53,630 --> 00:05:56,550 ako to taky, dostane interpreted-- nie je vybudovaný, ale interpreted-- 149 00:05:56,550 --> 00:06:00,690 Vnútri CS50 IDE, čo je samozrejme len server alebo servery v cloude. 150 00:06:00,690 --> 00:06:03,070 >> Ale JavaScript ani Aj keď idete 151 00:06:03,070 --> 00:06:07,000 začať písať to, povedzme, pset osem a možno konečný projects-- ste 152 00:06:07,000 --> 00:06:09,620 bude pravdu, že v CS50 IDE a uložte ho 153 00:06:09,620 --> 00:06:14,760 v súboroch vnútri CS50 IDE, CS50 IDE a, podľa poradia, sa oblak servery 154 00:06:14,760 --> 00:06:19,160 na ktorej je umiestnený, sa nebude interpretovať alebo spustenie kódu. 155 00:06:19,160 --> 00:06:23,880 Skôr to bude byť zaslané nezmenenej podobe dole do prehliadača. 156 00:06:23,880 --> 00:06:26,990 A to potom bude IE alebo Chrome alebo Firefox alebo Safari 157 00:06:26,990 --> 00:06:30,697 alebo čo to vlastne interpretuje to, zhora nadol, zľava doprava. 158 00:06:30,697 --> 00:06:32,780 Takže kľúčové rozlišovať charakteristický pre dnešok 159 00:06:32,780 --> 00:06:36,110 je to, že JavaScript je na strane klienta a PHP, napríklad, 160 00:06:36,110 --> 00:06:37,690 bol na strane servera. 161 00:06:37,690 --> 00:06:40,920 Teraz, toto má zaujímavé dôsledky pre, ako, duševné vlastníctvo 162 00:06:40,920 --> 00:06:42,660 a kto môže skutočne vidieť váš kód. 163 00:06:42,660 --> 00:06:44,860 A skutočne, môžete ísť na webe a pozrite sa najviac 164 00:06:44,860 --> 00:06:47,530 akýkoľvek kód, ktorý niekto má napísaný v JavaScripte. 165 00:06:47,530 --> 00:06:50,230 Niekedy je to čitateľné, Niekedy je to poplietol. 166 00:06:50,230 --> 00:06:52,550 Ale o tom viac v pravý čas. 167 00:06:52,550 --> 00:06:57,530 >> Takže JavaScript dosť pekne, je Super podobné, syntakticky, aby C. 168 00:06:57,530 --> 00:06:59,364 A podobne ako PHP, nie je hlavné funkcie. 169 00:06:59,364 --> 00:07:02,113 Ak chcete začať písať Kód JavaScript, ako uvidíte dnes, 170 00:07:02,113 --> 00:07:03,270 stačí začať písať to. 171 00:07:03,270 --> 00:07:06,910 Ale to je, uvidíte, zvlášť užitočné v súvislosti s webových prehliadačov. 172 00:07:06,910 --> 00:07:09,820 Avšak, môj malý disclaimer-- zvyčajne earlier-- 173 00:07:09,820 --> 00:07:13,790 bolo povedať, že môžete stále viac dnes používajú JavaScript na strane servera 174 00:07:13,790 --> 00:07:17,655 pomocou fantázie rámca s názvom Node.js že niektoré z vlastnej aplikácie je CS50 175 00:07:17,655 --> 00:07:18,280 sú písané. 176 00:07:18,280 --> 00:07:20,640 Skontrolujte, či v skutočnosti používa 50 Node.js. 177 00:07:20,640 --> 00:07:24,140 Ale budeme sa sústrediť na JavaScript na strane klienta tu na von. 178 00:07:24,140 --> 00:07:26,750 >> Takže tu je súbor podmienok v PHP. 179 00:07:26,750 --> 00:07:29,350 Je nám ľúto, in-- skutočnosti, že tvrdenie, tiež je správne. 180 00:07:29,350 --> 00:07:32,200 Tu je tiež sada podmienky v JavaScriptu. 181 00:07:32,200 --> 00:07:35,560 Syntakticky, to je identická s C a PHP. 182 00:07:35,560 --> 00:07:39,040 Výrazy pána Boole sú, Rovnako tak, syntakticky 183 00:07:39,040 --> 00:07:41,190 identické s oboma C a PHP. 184 00:07:41,190 --> 00:07:44,100 Máme tiež spínače v JavaScript, že vyzerajú totožne. 185 00:07:44,100 --> 00:07:46,350 Máme pre slučky, ktoré sú štruktúrované identicky, 186 00:07:46,350 --> 00:07:48,140 while, robiť, zatiaľ čo slučky. 187 00:07:48,140 --> 00:07:49,980 >> To je trochu iný. 188 00:07:49,980 --> 00:07:53,120 PHP mal pre každý konštrukt že by ste mohli byť pomocou 189 00:07:53,120 --> 00:07:55,320 alebo budú používať v pset sedem, možno. 190 00:07:55,320 --> 00:07:59,460 JavaScript má túto špeciálnu verziu pre, kde ste doslova povedať niečo 191 00:07:59,460 --> 00:08:03,864 ako variabilný kľúč v objekte, ktorý je veľmi stručná spôsob, ako povedať, 192 00:08:03,864 --> 00:08:06,780 či som dostal object-- a my hovoriť o nich opäť v moment-- 193 00:08:06,780 --> 00:08:10,370 a chcem k iterácii cez všetky párov kľúčových hodnôt vo vnútri, 194 00:08:10,370 --> 00:08:13,620 Nemám prísť na to, ako sa číselne index je s nula, jedna, 195 00:08:13,620 --> 00:08:14,580 dva, tri. 196 00:08:14,580 --> 00:08:15,900 >> Môžem doslova povedať. 197 00:08:15,900 --> 00:08:20,740 A v každej iterácii, JavaScript pre mňa bude aktualizovať premennú kľúč 198 00:08:20,740 --> 00:08:24,810 , Že je prvý kľúč, potom ďalšie kľúč, potom ďalší kľúč, potom ďalší kľúč, 199 00:08:24,810 --> 00:08:25,510 a tak ďalej. 200 00:08:25,510 --> 00:08:30,000 A môžem dostať na svojej hodnote spracovaním objekt v JavaScripte, ako uvidíme, 201 00:08:30,000 --> 00:08:32,584 ako keby je to asociatívne pole v PHP. 202 00:08:32,584 --> 00:08:35,750 V skutočnosti, ak ste konečne svoj zabalené myseľ okolo toho, čo asociatívne pole je 203 00:08:35,750 --> 00:08:40,140 v PHP, môžete si o tom myslíte teraz as totožný s objektu v JavaScriptu. 204 00:08:40,140 --> 00:08:42,030 Ale to je trochu oversimplification. 205 00:08:42,030 --> 00:08:47,230 >> Pole vyzerajú dosť pekne, totožný do PHP až na jeden znak. 206 00:08:47,230 --> 00:08:51,425 Je tu jedna vec tu chýba že sme videli minulý týždeň s PHP. 207 00:08:51,425 --> 00:08:52,050 Čo vynechať? 208 00:08:52,050 --> 00:08:53,310 Jo? 209 00:08:53,310 --> 00:08:54,090 Žiadne znak dolára. 210 00:08:54,090 --> 00:08:56,240 Takže sme späť do A normálnejšie svete, kde 211 00:08:56,240 --> 00:08:58,050 premenné nemajú znaky dolára. 212 00:08:58,050 --> 00:09:00,810 Ale vy ich prefix s var, typicky. 213 00:09:00,810 --> 00:09:02,230 A var znamená premenné. 214 00:09:02,230 --> 00:09:06,440 A podobne ako PHP je voľne typed-- pričom tam sú typy, 215 00:09:06,440 --> 00:09:10,120 tam sú čísla a reťazce a plaváky a tak forth-- 216 00:09:10,120 --> 00:09:11,570 JavaScript má podobne typy. 217 00:09:11,570 --> 00:09:15,470 Ale je to voľne napísaný v tom, že sme programátori nemusíte špecifikovať. 218 00:09:15,470 --> 00:09:18,980 Len musíme byť vedomí že rôzne druhy existujú. 219 00:09:18,980 --> 00:09:21,690 >> Premenné, meanwhile-- tu je návod, ako môžeme prehlásiť "ahoj, svet" 220 00:09:21,690 --> 00:09:22,230 ako reťazec. 221 00:09:22,230 --> 00:09:24,890 Všimnite si, že je totožný s PHP ale žiadny znak dolára. 222 00:09:24,890 --> 00:09:27,120 A to je niečo, čo budeme začnete vidieť viac dnes, 223 00:09:27,120 --> 00:09:30,990 kedy máte objekt s kľúčmi a hodnotami. 224 00:09:30,990 --> 00:09:32,990 A ak si chcete vyskúšať vyvodiť z posledného week-- 225 00:09:32,990 --> 00:09:34,730 Syntax je trochu iný. 226 00:09:34,730 --> 00:09:39,740 Ale trochu zdravý rozum check-- koľko Kľúče to objekt sa zdá, že? 227 00:09:39,740 --> 00:09:40,850 Tak vidím štyri. 228 00:09:40,850 --> 00:09:43,560 Vidím dva. 229 00:09:43,560 --> 00:09:44,680 >> Takže je to vlastne dva. 230 00:09:44,680 --> 00:09:47,260 Takže toto je kolekcia z dvoch dvojíc kľúč-hodnota. 231 00:09:47,260 --> 00:09:49,820 Kľúčom k úspechu je symbol, ktorého hodnota je FB. 232 00:09:49,820 --> 00:09:52,620 Kľúčom k úspechu je cena, ktorého hodnota je 101.53. 233 00:09:52,620 --> 00:09:54,230 To sú len dva páry kľúč-hodnota. 234 00:09:54,230 --> 00:09:58,120 A pamätajte si, PHP-- a to je opäť tak nejako syntaxe rozdielu. 235 00:09:58,120 --> 00:10:00,170 To nie je všetko, intelektuálne zaujímavé. 236 00:10:00,170 --> 00:10:04,610 PHP môže písali to isté vec ako follows-- citovať, rovná. 237 00:10:04,610 --> 00:10:06,730 A ja ich zmeniť na hranatých zátvorkách. 238 00:10:06,730 --> 00:10:11,240 A potom som sa zmeniť na kótovaná slovo, "cena". 239 00:10:11,240 --> 00:10:12,500 A potom som sa nepoužívajú dvojbodku. 240 00:10:12,500 --> 00:10:15,060 Čo som používať minulý týždeň? 241 00:10:15,060 --> 00:10:18,290 Jo, znamienko rovnosti šípka funky notácie. 242 00:10:18,290 --> 00:10:21,470 >> A potom som urobil to isté tu. 243 00:10:21,470 --> 00:10:23,580 To isté tu. 244 00:10:23,580 --> 00:10:24,240 A to je všetko. 245 00:10:24,240 --> 00:10:27,752 Takže je to v poriadku, ak to nemá naozaj klesol do pamäte len 246 00:10:27,752 --> 00:10:29,960 Zatiaľ, pretože je to naozaj intelektuálne nezaujímavé. 247 00:10:29,960 --> 00:10:31,660 Je to len syntaktické rozdiely. 248 00:10:31,660 --> 00:10:33,230 Ale myšlienky sú úplne rovnaké. 249 00:10:33,230 --> 00:10:35,910 Vnútri tejto premennej citácie v JavaScripte 250 00:10:35,910 --> 00:10:39,020 je zbierka dvojíc kľúč-hodnota, z ktorých jeden je symbol, z ktorých jedna 251 00:10:39,020 --> 00:10:39,690 je cena. 252 00:10:39,690 --> 00:10:42,340 A môžem dostať na týchto hodnotách s nasledujúce syntaxou. 253 00:10:42,340 --> 00:10:46,280 Rovnako ako v PHP, mohol by som niečo jako-- rokov 254 00:10:46,280 --> 00:10:48,590 mi, aby som tento box o niečo väčší. 255 00:10:48,590 --> 00:10:52,750 Rovnako ako v PHP, mohol by som aby tohle-- oh, sakra. 256 00:10:52,750 --> 00:10:53,250 No ták. 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> Rovnako ako v PHP-- OK, budeme stačí použiť prezentujúceho poznámky. 259 00:11:00,800 --> 00:11:06,010 Rovnako ako v PHP, môžem robiť $ ["symbol"] Citácia $ citovať, 260 00:11:06,010 --> 00:11:08,860 a to ma dostane Hodnota "symbol." 261 00:11:08,860 --> 00:11:12,800 V JavaScriptu, že to bude identické, čím som si len to urobiť. 262 00:11:12,800 --> 00:11:14,850 Jediná vec, ktorá je chýba, je znak dolára. 263 00:11:14,850 --> 00:11:17,470 >> Tak dosť dobre, potom, je tu nie je všetko, že veľa nového syntaxe. 264 00:11:17,470 --> 00:11:21,025 Takže to, čo dnes sme sa sústredili na, naozaj, je niektoré myšlienky a aplikácií. 265 00:11:21,025 --> 00:11:22,900 A prvé, ako aplikácie, ktoré by vás mohli 266 00:11:22,900 --> 00:11:26,090 Videl ste skočil do ak pset seven už je táto syntaxe. 267 00:11:26,090 --> 00:11:28,980 Takže pset sedem, ak ste Videl alebo nevidel to ešte, 268 00:11:28,980 --> 00:11:33,570 viem, že tam je súbor, ktorý dávame ste volali config.json-- JavaScript 269 00:11:33,570 --> 00:11:34,661 Object Notation. 270 00:11:34,661 --> 00:11:35,160 Prečo? 271 00:11:35,160 --> 00:11:39,540 Chceli sme byť schopní poskytnúť vám šablóny s niektorými dvojíc kľúč-hodnota. 272 00:11:39,540 --> 00:11:44,290 Chceli sme byť schopní dať vám zoznam hostiteľa, názov servera. 273 00:11:44,290 --> 00:11:46,710 Chceli sme, aby vám vzniku zástupný symbol pre vaše užívateľské meno 274 00:11:46,710 --> 00:11:48,210 a zástupný symbol pre heslo. 275 00:11:48,210 --> 00:11:49,410 Ak si nie ste vidieť to ešte, nie sa báť. 276 00:11:49,410 --> 00:11:51,340 Viac na túto tému v pset siedmich [? špec. ?] A potom, 277 00:11:51,340 --> 00:11:53,173 Je zrejmé, že chcete, vyplniť v na-DOS 278 00:11:53,173 --> 00:11:55,310 pretože keď sa prihlásite do CS50 IDE, každý z vás 279 00:11:55,310 --> 00:11:57,630 mať svoje vlastné užívateľské meno a heslo. 280 00:11:57,630 --> 00:12:00,910 >> Takže sme mohli sme použiť pol tucta alebo viacerých rôznych formátov súborov. 281 00:12:00,910 --> 00:12:02,940 Mohli sme použili súbor TXT. 282 00:12:02,940 --> 00:12:04,570 Mohli by sme použiť súbor vo formáte CSV. 283 00:12:04,570 --> 00:12:06,745 Mohli sme použitý INI súbor, súbor vo formáte XML, 284 00:12:06,745 --> 00:12:09,370 celá partia ďalšie skratky, ktoré ste možno ešte nikdy nepočul. 285 00:12:09,370 --> 00:12:11,244 Je to trochu ľubovoľný na konci dňa. 286 00:12:11,244 --> 00:12:16,030 Ale mimoriadne populárne v týchto dňoch je text formát nazvaný JSON-- JavaScript Object 287 00:12:16,030 --> 00:12:18,460 Notation-- že vyzerá takto. 288 00:12:18,460 --> 00:12:20,890 Je to trochu záhadný, nevšimnúť vzory. 289 00:12:20,890 --> 00:12:24,180 Začnete s otvorenou kučeravé rovnátka, a vy skončíte s rovnaké. 290 00:12:24,180 --> 00:12:26,550 Vnútri to je niečo. 291 00:12:26,550 --> 00:12:27,920 Je to pár kľúč-hodnota. 292 00:12:27,920 --> 00:12:30,580 Takže to je objekt, ktorý ja som pri pohľade na na obrazovke tu 293 00:12:30,580 --> 00:12:33,690 že má jeden kľúč, ktorý má jednu hodnotu. 294 00:12:33,690 --> 00:12:37,610 A práve odvodzovať založený na predchádzajúci model, aký je kľúč tu? 295 00:12:37,610 --> 00:12:39,790 Databáza je vec ľavá hrubého čreva. 296 00:12:39,790 --> 00:12:43,500 >> Teraz, hodnota sa stane byť A viac riadkov tejto dobe. 297 00:12:43,500 --> 00:12:46,760 Ale hodnota začína kučeravé rovnátka a končí s zložená zátvorka. 298 00:12:46,760 --> 00:12:49,480 Takže to, čo by ste navrhovali je typ hodnoty databázy? 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 Slovník, alebo len viac stručne, objekt. 301 00:12:54,670 --> 00:12:55,170 Je to tak? 302 00:12:55,170 --> 00:13:00,010 To je druh dátové štruktúry, ktoré Môžete použiť aj iné štruktúry v sebe. 303 00:13:00,010 --> 00:13:02,750 Takže ak celá tá vec, že ​​sme zvolať object-- a objekt 304 00:13:02,750 --> 00:13:07,101 je len banda kľúč-hodnota pairs-- hodnota samotnej databázy je objekt. 305 00:13:07,101 --> 00:13:10,350 Hodnota databázy má veľa kľúčových párov hodnôt, z ktorých prvý 306 00:13:10,350 --> 00:13:13,130 je hostiteľ, pomenujte, a potom užívateľské meno, potom heslo, 307 00:13:13,130 --> 00:13:17,550 každý z ktorých hodnoty, zatiaľ, je to len nudný reťazec v úvodzovkách. 308 00:13:17,550 --> 00:13:19,770 >> Takže aj keď to nie je super jasný ešte nie, 309 00:13:19,770 --> 00:13:22,740 viem, že to je len štandard, docela nudný spôsob, 310 00:13:22,740 --> 00:13:25,190 ukladanie dát v štandardnom formáte. 311 00:13:25,190 --> 00:13:27,700 Ale spoločné chybách ktore ste tu by mohol robiť, a to aj v pset sedem, 312 00:13:27,700 --> 00:13:32,120 sú malé hlúpe veci, ako keď náhodne vynechať čiarku tam. 313 00:13:32,120 --> 00:13:34,900 To bude mať za následok súboru nie nevyhnutne byť čitateľný. 314 00:13:34,900 --> 00:13:38,191 Ak omylom vynecháte veci, ako je citácie, to nebude čitateľný. 315 00:13:38,191 --> 00:13:41,654 Takže je to celkom nitpicky formát súboru, ale to je ten, ktorý je mimoriadne bežné. 316 00:13:41,654 --> 00:13:44,820 A my náhodou používať, aj keď nechcete používať niektorý kódu JavaScript inak, 317 00:13:44,820 --> 00:13:46,330 V pset sedem. 318 00:13:46,330 --> 00:13:46,860 >> Dobre. 319 00:13:46,860 --> 00:13:48,110 Takže pamätajte tento obrázok. 320 00:13:48,110 --> 00:13:51,657 Hovorili sme o, v HTML, že kód môže vyzerať napríklad takto. 321 00:13:51,657 --> 00:13:54,740 To je HyperText Markup Language [Nepočuteľný] len za "Hello, World". 322 00:13:54,740 --> 00:13:57,570 Ale potom sme navrhli zatiaľ čo späť, že ak to pomôže, 323 00:13:57,570 --> 00:14:00,210 možno budete chcieť začať premýšľať o tom už ako strom. 324 00:14:00,210 --> 00:14:03,730 V skutočnosti, že zárez používať len pre čitateľnosť príčinu 325 00:14:03,730 --> 00:14:05,610 alebo kvôli na štýl je ľavá môže druh 326 00:14:05,610 --> 00:14:10,040 byť preložený do tohto stromu, kde na vás mať nejaký špeciálny koreňový uzol, že budeme 327 00:14:10,040 --> 00:14:16,860 druhovo nazvaný dokument, pod ktorou je koreňom HTML element alebo tag, HTML, 328 00:14:16,860 --> 00:14:19,980 ktorý potom má dva deti, hlava a telo. 329 00:14:19,980 --> 00:14:21,750 >> A potom zase hlava má titul. 330 00:14:21,750 --> 00:14:23,440 A titul má hodnotu textu. 331 00:14:23,440 --> 00:14:26,130 A telo má podobne ako textovú hodnotu. 332 00:14:26,130 --> 00:14:29,220 Takže ak vám vyhovuje príslovia že áno, mohol by ste tento HTML 333 00:14:29,220 --> 00:14:32,080 a nakresliť obrázok, ako je to je pravá strana 334 00:14:32,080 --> 00:14:35,910 je pekný mentálny model, pretože teraz že máme JavaScript programovanie 335 00:14:35,910 --> 00:14:39,960 jazyk, ktorý prehliadačov vykonávať a interpretovať pre vás, 336 00:14:39,960 --> 00:14:42,690 Ukazuje sa, že to, čo sa chystáme urobiť v kóde 337 00:14:42,690 --> 00:14:45,320 sa začne manipulovať tento stromová štruktúra v pamäti. 338 00:14:45,320 --> 00:14:47,070 Nemusíme budovať strom v pamäti. 339 00:14:47,070 --> 00:14:49,880 Nemusíme robiť druh Štruktúra dátovej pset-five-style 340 00:14:49,880 --> 00:14:50,650 zložitosť. 341 00:14:50,650 --> 00:14:54,610 Prehliadač, pekne dosť, na tlmočenie HTML zhora nadol, 342 00:14:54,610 --> 00:14:58,600 vľavo alebo vpravo, je doslova chystá ruka USA ekvivalent ukazovateľ 343 00:14:58,600 --> 00:15:00,840 k tomu celý strom zadarmo. 344 00:15:00,840 --> 00:15:02,150 To robí všetky tvrdej práce. 345 00:15:02,150 --> 00:15:05,520 To je to, čo Mozilla a Apple a iní urobili pre nás. 346 00:15:05,520 --> 00:15:09,400 >> A s JavaScript budeme byť schopný ovládať a meniť a robiť 347 00:15:09,400 --> 00:15:12,910 zaujímavých vecí že strom, inak známy 348 00:15:12,910 --> 00:15:15,880 ako DOM alebo Document Object Model. 349 00:15:15,880 --> 00:15:17,110 Aké veci? 350 00:15:17,110 --> 00:15:19,030 No, to ukáže, že v JavaScripte, je tu 351 00:15:19,030 --> 00:15:22,800 tento pranie zoznam udalosti, ktoré sa môžu uskutočniť. 352 00:15:22,800 --> 00:15:26,330 A my sme naozaj používal to Slovo od týždňa nulou a pset 353 00:15:26,330 --> 00:15:28,240 nulu, keď sme hovorili o Scratch. 354 00:15:28,240 --> 00:15:31,390 Väčšina z vás asi nepoužil udalosť vo vašom Scratch projektu. 355 00:15:31,390 --> 00:15:33,850 Ale vy ste možno pamätáte jednoduché Marco Polo 356 00:15:33,850 --> 00:15:36,760 Príkladom, kde sme mali dve škriatkovia, z ktorých jeden z nich povedal, Marco. 357 00:15:36,760 --> 00:15:40,180 Druhý z ktorých potom po počúvaní a počuť, že udalosti, povedal, Polo. 358 00:15:40,180 --> 00:15:42,080 Ak nie, neváhajte obzrieť sa, že ďaleko dozadu. 359 00:15:42,080 --> 00:15:44,450 >> Ale to je len preto, aby hovoria, a môžete druh 360 00:15:44,450 --> 00:15:47,730 vyvodiť z názvov týchto veci, JavaScript, to dopadá, 361 00:15:47,730 --> 00:15:53,200 sa chystá dať nám spôsob, ako počúvať pre myš ísť dole alebo myšou ísť hore 362 00:15:53,200 --> 00:15:57,920 klávesy alebo ísť dole, alebo klávesa ísť hore alebo onSubmit onSelect 363 00:15:57,920 --> 00:15:59,740 alebo onresizing niečo. 364 00:15:59,740 --> 00:16:03,060 Inými slovami, akýkoľvek fyzikálne pôsobenie že človek môže mať s prehliadačom 365 00:16:03,060 --> 00:16:08,210 , Čo robíte každý deň, môžete písať kód, ktorý počúva na tieto udalosti 366 00:16:08,210 --> 00:16:10,220 a potom robí niečo vhodné. 367 00:16:10,220 --> 00:16:14,130 >> Napríklad, ak používate Google Maps, čo sa stane, keď kliknete na tlačidlo a presunúť 368 00:16:14,130 --> 00:16:16,250 myši, zvyčajne? 369 00:16:16,250 --> 00:16:17,758 Ak kliknete na tlačidlo a pretiahnite? 370 00:16:17,758 --> 00:16:18,258 Jo? 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 Presne tak. 373 00:16:22,200 --> 00:16:23,159 Mapa začne pohybovať. 374 00:16:23,159 --> 00:16:25,616 Takže môžete nejako vidieť, čo je tu čo je tam. 375 00:16:25,616 --> 00:16:27,130 A ako to, že Google implementovať? 376 00:16:27,130 --> 00:16:29,421 No, podľa všetkého, sú to za použitia pár týchto udalosti 377 00:16:29,421 --> 00:16:31,720 poslucháči, jeden, ktorý hovorí, počúvajte, na myš 378 00:16:31,720 --> 00:16:35,410 down-- takže keď sa používateľ fyzicky tlačí jeho trackpade alebo jeho alebo jej myš 379 00:16:35,410 --> 00:16:36,010 nadol. 380 00:16:36,010 --> 00:16:38,350 A potom hľadáme niečo ako pohyb 381 00:16:38,350 --> 00:16:41,145 alebo niektorá iná udalosť nám umožňuje zachytiť odpor. 382 00:16:41,145 --> 00:16:45,910 A v skutočnosti, pretiahnite je podobne v tomto dot dot dot zoznam možných volieb. 383 00:16:45,910 --> 00:16:49,140 >> Takže to bude silný spôsob, ako začať reagovať na užívateľovi 384 00:16:49,140 --> 00:16:52,824 ešte predtým, ako on alebo ona vlastne klikne niečo ako explicitné odoslať. 385 00:16:52,824 --> 00:16:55,240 Ale my chystá zaviesť pár tém sa tam dostať. 386 00:16:55,240 --> 00:16:58,570 Prechod ale najprv, poďme do určitej aktuálny kód. 387 00:16:58,570 --> 00:17:01,450 Takže ja idem vpred a otvoriť dom-0, 388 00:17:01,450 --> 00:17:05,869 čo je veľmi jednoduchý príklad tu, že keď som sa priblížiť jednoducho 389 00:17:05,869 --> 00:17:08,500 má tento vstup tu na mňa. 390 00:17:08,500 --> 00:17:12,410 A ja sa do toho pustite a zadajte "David" pre moje meno a kliknite na tlačidlo Odoslať. 391 00:17:12,410 --> 00:17:17,940 >> A potom, aj keď nejako lacno, I majú túto výzvu, ktorý sa objaví, ktorá hovorí, 392 00:17:17,940 --> 00:17:19,244 "Ahoj, Davide!" 393 00:17:19,244 --> 00:17:21,740 Takže to je druh Rovnako ako naše "ahoj, svet" 394 00:17:21,740 --> 00:17:25,150 že sme urobili chvíľu späť v C a dokonca v PHP, pretože som dynamicky 395 00:17:25,150 --> 00:17:26,310 výstup moje meno. 396 00:17:26,310 --> 00:17:28,230 Môžem robiť tú meno niekoho iného. 397 00:17:28,230 --> 00:17:31,240 Mohol som jednoducho zmeniť to, ako, Hannah, kliknite na tlačidlo Odoslať. 398 00:17:31,240 --> 00:17:33,780 A skutočne, tie malé pop-up zmenám. 399 00:17:33,780 --> 00:17:36,650 >> Teraz, pop-up sú jedným z väčšina zneužívané vlastnosti webu. 400 00:17:36,650 --> 00:17:38,520 A v skutočnosti, v roku jednodňové pop-up blokátory 401 00:17:38,520 --> 00:17:40,820 prišiel do módy, pretože vás by ísť do nejakej website-- 402 00:17:40,820 --> 00:17:43,604 možná diskutabilné place-- že by potom náhle 403 00:17:43,604 --> 00:17:46,020 začať zasypával obrazovky s celou partiou pop-up okná. 404 00:17:46,020 --> 00:17:49,700 A tak táto schopnosť pop-up okná pred používateľom 405 00:17:49,700 --> 00:17:52,372 nebola zvlášť dobre prijatý ľudstva. 406 00:17:52,372 --> 00:17:54,080 Takže to je dôvod, prečo ste vidieť to zabrániť vec, 407 00:17:54,080 --> 00:17:55,706 ktorý jednoducho robí to celé škaredé. 408 00:17:55,706 --> 00:17:57,996 Takže budeme potrebovať lepší spôsob, ako vyzvať užívateľa. 409 00:17:57,996 --> 00:17:59,350 Ale teraz, to zdá sa k práci. 410 00:17:59,350 --> 00:18:03,320 Takže len intuitívne, čo Zdá sa, že sa to tu deje? 411 00:18:03,320 --> 00:18:07,870 Idem do toho a kliknite na tlačidlo Odoslať, a potom sa niečo deje, jasne. 412 00:18:07,870 --> 00:18:12,870 Ale to, čo sa nestane, že sa stalo Minulý týždeň kedykoľvek klikol som Odoslať? 413 00:18:12,870 --> 00:18:15,940 Čo sa nestalo na obrazovke? 414 00:18:15,940 --> 00:18:17,170 Prosím? 415 00:18:17,170 --> 00:18:18,010 Obnoviť. 416 00:18:18,010 --> 00:18:19,720 Adresa URL nezmenil vôbec. 417 00:18:19,720 --> 00:18:22,250 Povedal som, že to dom-0, a ja som stále na DOM-0. 418 00:18:22,250 --> 00:18:26,890 Za normálnych okolností by sme sa prezliecť k niektorým iný URL, ako register.php alebo podobne. 419 00:18:26,890 --> 00:18:29,560 >> Ale aj keď som sa odbiť táto vec kliknutím na tlačidlo OK, 420 00:18:29,560 --> 00:18:32,310 Všimnite si, že adresu URL zostáva úplne dal. 421 00:18:32,310 --> 00:18:35,350 A v skutočnosti, keď som trochu skeptický, dovoľte mi, aby som otvoriť Chrome. 422 00:18:35,350 --> 00:18:36,860 Dovoľte mi, aby som otvoriť kartu Sieť. 423 00:18:36,860 --> 00:18:38,360 A všimnite si, že je to prázdny v túto chvíľu. 424 00:18:38,360 --> 00:18:40,700 Nechaj ma ísť dopredu a znovu Maria. 425 00:18:40,700 --> 00:18:42,810 Neexistuje žiadny sieťovú prevádzku vôbec. 426 00:18:42,810 --> 00:18:44,320 Takže nie je HTTP. 427 00:18:44,320 --> 00:18:47,620 >> Takže naozaj, keď som sa pozrieť do zdrojového kódu pre tohle-- dovoľte mi, aby som toto okno zavrieť 428 00:18:47,620 --> 00:18:49,480 a ísť do zobrazenia zdroj. 429 00:18:49,480 --> 00:18:50,400 Zaujímavé. 430 00:18:50,400 --> 00:18:53,520 Vyzerá to, že tam je nejaký Nové značky, medzi nimi aj scenár. 431 00:18:53,520 --> 00:18:57,490 Takže poďme sa pozrieť vnútri CS50 IDE presne to, čo som poslal k užívateľovi. 432 00:18:57,490 --> 00:19:00,690 >> Tak tu je-- poďme sa zameriavajú iba na HTML. 433 00:19:00,690 --> 00:19:03,500 Tu je spodná polovica DOM-0.html. 434 00:19:03,500 --> 00:19:07,830 A všimnite si, že to má titul, tag hlava, telo značky, značka forma. 435 00:19:07,830 --> 00:19:11,257 Ale to, čo vyskočí na vás, ako rôzne, najmä ak ste nikdy 436 00:19:11,257 --> 00:19:12,590 napísal akýkoľvek JavaScript sami. 437 00:19:12,590 --> 00:19:14,920 Dovoľte mi, aby som sa trochu posunúť k práve tu. 438 00:19:14,920 --> 00:19:18,330 Mám vstup, ďalší vstup pre odoslať. 439 00:19:18,330 --> 00:19:21,410 Mám ID, ktorý je tak trochu nové. 440 00:19:21,410 --> 00:19:22,790 Ale my sme sa vidieť s CSS. 441 00:19:22,790 --> 00:19:24,480 Čo iného je určite nové? 442 00:19:24,480 --> 00:19:24,980 Jo? 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 >> Dobre. 446 00:19:32,760 --> 00:19:35,630 Takže tam, kde sa hovorí onSubmit, Všimnite si, čo sa zdá nasledovať. 447 00:19:35,630 --> 00:19:38,740 Toto je atribút HTML názvoslovie. 448 00:19:38,740 --> 00:19:40,944 Jeho hodnota je tento reťazec v úvodzovkách tu. 449 00:19:40,944 --> 00:19:42,860 A to vyzerá trochu divný na prvý pohľad. 450 00:19:42,860 --> 00:19:44,050 Nie je to HTML. 451 00:19:44,050 --> 00:19:45,240 Nie je to CSS. 452 00:19:45,240 --> 00:19:47,580 To je, ako asi tušíte, JavaScript. 453 00:19:47,580 --> 00:19:51,850 Takže sa zdá, že vstavaný do toho webová stránka je funkcia nazvaná pozdraviť. 454 00:19:51,850 --> 00:19:54,250 A ja odvodzovať, že práve pretože je to slovo, pozdraviť. 455 00:19:54,250 --> 00:19:55,880 Má to otvorené zátvorka, zavrieť dvorenia, bodkočiarka. 456 00:19:55,880 --> 00:19:58,095 Vyzerá to, že funkcia C, vyzerá ako funkcie PHP. 457 00:19:58,095 --> 00:20:00,370 >> A skutočne, to bude je funkcia JavaScript. 458 00:20:00,370 --> 00:20:01,440 Potom Vraciam false. 459 00:20:01,440 --> 00:20:03,440 Vrátime sa do že za chvíľu. 460 00:20:03,440 --> 00:20:05,320 Ale kde je táto funkcia definovaná? 461 00:20:05,320 --> 00:20:07,950 No dovoľte mi, aby som posúvať nahor na začiatok súboru. 462 00:20:07,950 --> 00:20:11,710 A aj keď je to dlhá fronta, je to pomerne jednoduché. 463 00:20:11,710 --> 00:20:15,000 Dovoľte mi, aby som tu a oddialiť zamerať sa na týchto štyroch riadkoch. 464 00:20:15,000 --> 00:20:17,137 >> Takže v jazyku JavaScript, len ako PHP, stačí 465 00:20:17,137 --> 00:20:19,720 povedzme, doslovne, slovo "funkcie" názov funkcie, 466 00:20:19,720 --> 00:20:22,700 a potom zátvoriek s akýmkoľvek arguments-- žiadne argumenty v tomto prípade. 467 00:20:22,700 --> 00:20:25,290 A nie je to žiadny typ návrate v JavaScriptu, rovnako ako PHP. 468 00:20:25,290 --> 00:20:29,470 Takže je to trochu voľnejšie ako C. Otvorená zložená zátvorka, v jeho blízkosti je zložená zátvorka. 469 00:20:29,470 --> 00:20:33,270 Zabudované do JavaScriptu je function-- neodporúča sa function-- 470 00:20:33,270 --> 00:20:35,730 ale funkcia nazvaná upozornenia ktorých jediným účelom v živote 471 00:20:35,730 --> 00:20:38,620 je vytiahnuť, že celkom škaredý vyzve, že sme videli pred chvíľou. 472 00:20:38,620 --> 00:20:40,950 >> Teraz to je druh sústo. 473 00:20:40,950 --> 00:20:42,560 Čo sa to tu deje? 474 00:20:42,560 --> 00:20:45,840 Takže poďme začať zvýrazniť tu všetko. 475 00:20:45,840 --> 00:20:48,540 To je rovnaký argument upozorniť. 476 00:20:48,540 --> 00:20:49,530 A čo sa deje? 477 00:20:49,530 --> 00:20:51,200 To len vyzerá ako reťazec. 478 00:20:51,200 --> 00:20:59,180 A ukázalo sa, na rozdiel od PHP a na rozdiel od C, nezáleží na tom, v JavaScripte 479 00:20:59,180 --> 00:21:01,090 ak ste jednoduché úvodzovky alebo dvojité úvodzovky. 480 00:21:01,090 --> 00:21:02,060 Budú rovnocenné. 481 00:21:02,060 --> 00:21:03,769 A úprimne povedané, je to len populárne v týchto dňoch 482 00:21:03,769 --> 00:21:06,726 pre programátorov JavaScript vždy používať apostrofy z nejakého dôvodu. 483 00:21:06,726 --> 00:21:07,840 Je to len vec. 484 00:21:07,840 --> 00:21:09,710 Ale my sme mohli použiť úvodzoviek, rovnako. 485 00:21:09,710 --> 00:21:11,540 >> Tak a je nový znak. 486 00:21:11,540 --> 00:21:14,512 Ale tí z vás, ktorí ste urobil predtým, čo to naviac znamená? 487 00:21:14,512 --> 00:21:16,440 Jo. 488 00:21:16,440 --> 00:21:17,120 Zřetězit. 489 00:21:17,120 --> 00:21:18,570 Tak sme to videli v PHP. 490 00:21:18,570 --> 00:21:20,315 Je tu len bodka operátor v PHP, ktorý 491 00:21:20,315 --> 00:21:22,000 bude zřetězit dva reťazce dohromady. 492 00:21:22,000 --> 00:21:24,000 C bola bolesť v krku, ako to urobiť. 493 00:21:24,000 --> 00:21:27,310 Pripomeňme z pset šiestich, ktorý bol Špeciálne, bolesť v krku, 494 00:21:27,310 --> 00:21:29,470 budete musieť použiť niečo ako strčí 495 00:21:29,470 --> 00:21:31,660 po prideľovanie pamäte na zásobníku alebo haldy. 496 00:21:31,660 --> 00:21:34,243 Museli ste preskočiť obručou Len zřetězit dva reťazce. 497 00:21:34,243 --> 00:21:36,040 V JavaScriptu, je to super jednoduché. 498 00:21:36,040 --> 00:21:38,030 Stačí použiť operátor a navyše medzi nimi. 499 00:21:38,030 --> 00:21:41,420 >> Takže komplexné vyzerajúci vec sa zdá, že je to 500 00:21:41,420 --> 00:21:43,490 preto, že na konci Celý tento reťazec, len som 501 00:21:43,490 --> 00:21:45,797 zřetězit na výkričníkom. 502 00:21:45,797 --> 00:21:48,380 Takže ak to, čo sa objavovať sa "Dobrý deň, David", "ahoj, Hannah," 503 00:21:48,380 --> 00:21:52,740 "Dobrý deň, Mária," a tak ďalej, jasne že stredná vec medzi dvoma 504 00:21:52,740 --> 00:21:55,215 plusy mi musí dať prístup k čomu? 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 Čo je tam pre istotu? 507 00:22:01,991 --> 00:22:02,490 Jo. 508 00:22:02,490 --> 00:22:05,090 Takže budem tu predstierať odpovie svoje meno, že jo? 509 00:22:05,090 --> 00:22:10,380 Takže ich meno objavilo vo finále výsledok. Takže čo to znamená? 510 00:22:10,380 --> 00:22:15,080 No, som navrhol, že predtým v Obraz, ktorý tzv DOM 511 00:22:15,080 --> 00:22:18,580 má tento osobitný koreňový element spôsob up top s názvom dokumentu. 512 00:22:18,580 --> 00:22:21,660 A teraz sa ukazuje, že sa deje za zvláštne globálne premenná 513 00:22:21,660 --> 00:22:25,250 v JavaScripte, vstavaný do čo je celý rad užitočných funkcií. 514 00:22:25,250 --> 00:22:31,770 Medzi užitočné funkcie je schopnosť dostať za každú potomok uzla. 515 00:22:31,770 --> 00:22:37,760 Tieto štvorce či obdĺžniky alebo elipsy sú len uzlov v strome, aby som tak povedal. 516 00:22:37,760 --> 00:22:41,850 >> Tak to dopadá, že vstavaný do JavaScript je objekt dokumente 517 00:22:41,850 --> 00:22:47,300 je funkcia, inak známy ako metóda, ktorá sa nazýva getElementById. 518 00:22:47,300 --> 00:22:50,410 Syntax pre volanie funkcie v JavaScriptu 519 00:22:50,410 --> 00:22:55,220 že je vo vnútri objektu alebo premenná je práve s tečkové notácie. 520 00:22:55,220 --> 00:22:57,950 A my sme videli to v C aký syntaxe struct. 521 00:22:57,950 --> 00:23:03,530 Vidíte to v pset sedem, druh, druh, keď vidíte CS50 :: dotazu. 522 00:23:03,530 --> 00:23:08,070 Dvojbodka dvojbodka v PHP je ďalší spôsob volanie funkcie, ktorá je 523 00:23:08,070 --> 00:23:09,260 vnútri nejakého objektu. 524 00:23:09,260 --> 00:23:11,960 >> Ale teraz v jazyku JavaScript je to len bodka. 525 00:23:11,960 --> 00:23:14,170 A tak táto funkcia, dosť pekne, druh 526 00:23:14,170 --> 00:23:16,810 hovorí, že to, čo does-- dostať element ID. 527 00:23:16,810 --> 00:23:20,280 Prvok je len iný názov pre uzol etikety alebo v DOM. 528 00:23:20,280 --> 00:23:26,900 A tak si prvok podľa ID "meno" znamená tohle-- tu je môj HTML. 529 00:23:26,900 --> 00:23:31,910 A na základe tejto HTML, čo uzol, alebo to, čo HTML tag som ja 530 00:23:31,910 --> 00:23:35,097 bude programovo byť odovzdaný volaním document.getElementById? 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> Jo, presne tak. 533 00:23:38,500 --> 00:23:42,670 Chystám sa dostať vstup element existuje, ktorého ID je "názov." 534 00:23:42,670 --> 00:23:45,140 Takže konkrétne, môžete myslíte o tejto funkcie, 535 00:23:45,140 --> 00:23:49,560 getElementById, ako spôsob, ako dať späť ukazovateľ na túto konkrétnu uzol 536 00:23:49,560 --> 00:23:50,060 vo stromu. 537 00:23:50,060 --> 00:23:51,980 Ešte sme to vypracované strom, ale je to spôsob, ako 538 00:23:51,980 --> 00:23:54,900 ako získať prístup k tejto obdĺžnik alebo že obdĺžnik 539 00:23:54,900 --> 00:23:58,090 by jednoznačne ju identifikovať pomocou jeho ID. 540 00:23:58,090 --> 00:23:59,760 >> A teraz, prečo je to užitočné? 541 00:23:59,760 --> 00:24:01,510 No, to dopadá že akonáhle ste sa dostali 542 00:24:01,510 --> 00:24:07,220 že uzol, že obdĺžnik od obrázok, že uzol vnútri nej, 543 00:24:07,220 --> 00:24:10,660 naopak, má veľa párov properties-- kľúč-hodnota 544 00:24:10,660 --> 00:24:13,480 alebo dáta, z ktorých jeden sa nazýva hodnota. 545 00:24:13,480 --> 00:24:16,500 Takže doslova, je to niečo ako sústo vysvetliť celú vec. 546 00:24:16,500 --> 00:24:19,370 Ale na konci dňa, to všetko robí, je, aby vám 547 00:24:19,370 --> 00:24:23,070 reťazec, ktorý užívateľ zadal V tomto hierarchicky. 548 00:24:23,070 --> 00:24:24,820 Ale ja nepáči niekoľko z týchto vecí. 549 00:24:24,820 --> 00:24:27,590 Alebo skôr, je tu ešte nejaký zvedavosť. 550 00:24:27,590 --> 00:24:28,870 To všetko sa zdalo, že funguje. 551 00:24:28,870 --> 00:24:33,420 Prečo myslíte, že som sa vrátil false po zavolaní pozdraviť? 552 00:24:33,420 --> 00:24:35,910 To vyzerá trochu škaredé, že Mám dve vyhlásenia tu 553 00:24:35,910 --> 00:24:38,730 oddelené bodkočiarkami. 554 00:24:38,730 --> 00:24:39,310 Hádať. 555 00:24:39,310 --> 00:24:44,390 Ak by som odstránil return false, čo Môže sa stať, jednoducho inštinktívne? 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 Ospravedlňujeme sa, ale ešte raz? 558 00:24:49,460 --> 00:24:50,530 >> Otvorte veľa Windows. 559 00:24:50,530 --> 00:24:52,780 Takže potenciálne možno niečo ako že sa to stane. 560 00:24:52,780 --> 00:24:54,422 Čo ešte? 561 00:24:54,422 --> 00:24:55,630 Možno podať žiadosť Kde? 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 Na rovnakej stránke. 564 00:25:00,510 --> 00:25:03,110 Takže v skutočnosti, že je to čím bližšie odpovedať tu, 565 00:25:03,110 --> 00:25:05,890 aj keď, na rozdiel od V minulosti som nie 566 00:25:05,890 --> 00:25:09,300 zadaný atribút akcie, ktorý normálne musíme urobiť. 567 00:25:09,300 --> 00:25:11,780 Ukázalo sa, že je tu predvolené. Ak nechcete určiť akciu, 568 00:25:11,780 --> 00:25:15,370 to je ako povedať ponuku, koniec citátu alebo názov súboru sám, 569 00:25:15,370 --> 00:25:17,850 čo by v tomto prípade byť ako dom-0.html. 570 00:25:17,850 --> 00:25:20,420 Je to len druh vyvodil, alebo skôr implicitné. 571 00:25:20,420 --> 00:25:22,420 >> A tak keď sa mi to urobiť, poďme si všimnúť. 572 00:25:22,420 --> 00:25:23,230 Dovoľte mi, aby som to zachrániť. 573 00:25:23,230 --> 00:25:25,270 A ja som odstránil return false. 574 00:25:25,270 --> 00:25:27,759 Nechajte ma vrátiť sa k tomu príklad a silu znova načítať. 575 00:25:27,759 --> 00:25:30,800 A ste mohli vidieť mi navrhnúť to na CS50 Diskutujte veľa časov. 576 00:25:30,800 --> 00:25:34,560 Ak niečo sa niekedy jedná funky a prehliadač nie je správa podľa predpokladov, 577 00:25:34,560 --> 00:25:37,410 často budete chcieť držať Shift a potom kliknite na tlačidlo Načítať znovu. 578 00:25:37,410 --> 00:25:41,480 To bude nútiť každý súbor znovu načítať a nesmú používať vo svojom prehliadači medzipamäť miestnej 579 00:25:41,480 --> 00:25:47,032 alebo kópiu tak, že teraz, nechaj ma ísť dopredu a otvoria svoje Inspector na kartu Sieť. 580 00:25:47,032 --> 00:25:48,740 Budem kliknite Zachovať Prihlásiť preto, že som 581 00:25:48,740 --> 00:25:51,660 Nechceme, odstrániť riadky Raz som si odviedol preč inde. 582 00:25:51,660 --> 00:25:54,650 >> Nechaj ma ísť dopredu a tu zadajte Andi, kliknite na tlačidlo Odoslať. 583 00:25:54,650 --> 00:25:55,150 Dobre. 584 00:25:55,150 --> 00:25:56,480 To vyzerá, ako sa očakávalo. 585 00:25:56,480 --> 00:25:57,440 To hovorí, že "ahoj, Andi." 586 00:25:57,440 --> 00:25:59,420 Dovoľte mi, aby som na tlačidlo OK. 587 00:25:59,420 --> 00:26:00,610 Zaujímavé. 588 00:26:00,610 --> 00:26:05,100 Všimnite si, že stránka zmenila, aj keď na pôvodnú stránku. 589 00:26:05,100 --> 00:26:06,770 Všimnite si URL druh zmenil. 590 00:26:06,770 --> 00:26:09,430 Dodala, otáznik, čo je zvyčajne indikátorom 591 00:26:09,430 --> 00:26:11,260 že sme sa snažili predložiť niečo. 592 00:26:11,260 --> 00:26:13,570 A potom sa na dne, ešte jasnejšie, 593 00:26:13,570 --> 00:26:17,570 Tu je aktuálna požiadavka HTTP, ktorý má odozvu 200, ktoré 594 00:26:17,570 --> 00:26:18,490 priviedol ma sem. 595 00:26:18,490 --> 00:26:20,250 >> Takže to nie je to, čo chceme urobiť, nie? 596 00:26:20,250 --> 00:26:22,166 Pretože nechcem, aby znovu načítať celú stránku. 597 00:26:22,166 --> 00:26:24,970 Namiesto toho som sa chcel vrátiť false tak, aby sa skratu 598 00:26:24,970 --> 00:26:28,840 predvolené správanie prehliadača, ktorý bol, samozrejme, aby predložila stránky. 599 00:26:28,840 --> 00:26:31,700 >> Takže poďme sa pozrieť na okrajovo lepší príklad. 600 00:26:31,700 --> 00:26:33,920 To je dom verzia raz. 601 00:26:33,920 --> 00:26:36,680 A všimnite si nasledujúce. 602 00:26:36,680 --> 00:26:39,150 To je v poriadku, ak nechcete Grok všetky riadkov kódu. 603 00:26:39,150 --> 00:26:41,750 Ale to, čo je zásadne odlišný o tomto plnení? 604 00:26:41,750 --> 00:26:44,690 Budem stanovuje, že sa chová To isté, robí to isté. 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 Čo som zrejme urobil inak? 607 00:26:51,570 --> 00:26:52,266 Jo? 608 00:26:52,266 --> 00:26:53,182 >> Divákov: [Nepočuteľné]. 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVID Malan: Jo. 611 00:27:04,170 --> 00:27:08,620 Takže funkcia je definovaná differently-- inými slovami, neprítomných z formulára, 612 00:27:08,620 --> 00:27:13,180 tam hore na linke 7-- alebo skôr, linka 8-- už 613 00:27:13,180 --> 00:27:15,070 mám tú onSubmit atribút. 614 00:27:15,070 --> 00:27:16,750 V predchádzajúcom príklade, mal som to. 615 00:27:16,750 --> 00:27:18,530 A potom som doslova napísal môj kód tu. 616 00:27:18,530 --> 00:27:20,210 A potom som povedal return false. 617 00:27:20,210 --> 00:27:22,180 A ak to nebolo trieť ste ešte na zlú cestu, 618 00:27:22,180 --> 00:27:26,140 to by malo začať, ak as, rovnako ako v HTML, 619 00:27:26,140 --> 00:27:29,530 kedy sme začali spolupracovať zmiešať ju s CSS v atribúty štýlu, 620 00:27:29,530 --> 00:27:32,890 to práve začal trochu chaotický, alebo cítiť trochu zle. 621 00:27:32,890 --> 00:27:35,020 >> Rovnako tak tu, ak začnete HTML, 622 00:27:35,020 --> 00:27:37,419 a potom automaticky PLOP nejaký kód JavaScriptu 623 00:27:37,419 --> 00:27:40,460 v stredu reťazec v úvodzovkách, je to Nebude veľmi udržiavateľný. 624 00:27:40,460 --> 00:27:40,630 Je to tak? 625 00:27:40,630 --> 00:27:43,690 Nie je to ani zjavné na prvý pohľad miesto, kde je kód JavaScript je. 626 00:27:43,690 --> 00:27:46,590 Tak to by bolo naozaj pekné, ako princíp lepšieho dizajnu, 627 00:27:46,590 --> 00:27:50,500 poďme sa udržať naše HTML úplne oddeliť od nášho JavaScript. 628 00:27:50,500 --> 00:27:53,150 >> Takže na to, že to, čo máme tu urobil je following-- 629 00:27:53,150 --> 00:27:56,790 jednoducho pomocou HTML len pre značkovanie. 630 00:27:56,790 --> 00:28:00,730 A tak v prevedení jednej z toho, všetko Mám je forma s jedinečným ID. 631 00:28:00,730 --> 00:28:04,630 A potom tu dole, som využil zo špeciálnej funkcii JavaScriptu 632 00:28:04,630 --> 00:28:08,480 ktorým môžem mať to, čo je volal anonymné funkcie. 633 00:28:08,480 --> 00:28:14,150 Tak to dopadá, že keď hovorím document.getElementById o "demo" 634 00:28:14,150 --> 00:28:18,890 to je ako, že mi ukazovateľ tento uzol v mojom strome, forma prvok, 635 00:28:18,890 --> 00:28:20,100 tak povediac. 636 00:28:20,100 --> 00:28:22,220 >> Teraz, ja len viem od vedel, trochu HTML 637 00:28:22,220 --> 00:28:26,330 teraz sme čítali niektoré on-line referencie, že forma prvok podporuje 638 00:28:26,330 --> 00:28:29,950 celá partia akcie v listeners-- Inými slovami, zoznam bielizeň akcie 639 00:28:29,950 --> 00:28:31,700 poslucháči, že sme videli pred chvíľou. 640 00:28:31,700 --> 00:28:35,950 Viem, že pri čítaní dokumentácie že onSubmit je platný udalosťou 641 00:28:35,950 --> 00:28:38,520 poslucháč na element formulára. 642 00:28:38,520 --> 00:28:41,480 >> Takže akonáhle Viem, že, je to bezpečné pre mňa 643 00:28:41,480 --> 00:28:45,390 following-- dostať ten uzol zo stromu, forma prvok, 644 00:28:45,390 --> 00:28:48,070 a prístup k jeho tzv onSubmit vlastnosť. 645 00:28:48,070 --> 00:28:49,880 Takže bodka jednoducho znamená, To je vlastnosť, 646 00:28:49,880 --> 00:28:52,180 ako zvláštne hodnoty vnútri nej. 647 00:28:52,180 --> 00:28:55,590 A aký typ dát som ja priraďovanie, zdá sa, 648 00:28:55,590 --> 00:28:58,900 na onSubmit, čo je účinne premennú vnútri 649 00:28:58,900 --> 00:29:01,010 tohto uzla vo stromu? 650 00:29:01,010 --> 00:29:04,100 Je to pole vo vnútri tohto struct. 651 00:29:04,100 --> 00:29:05,810 Aký je dátový typ? 652 00:29:05,810 --> 00:29:07,030 >> Funkcie, jo. 653 00:29:07,030 --> 00:29:08,607 Tak to dopadá, že PHP má tento. 654 00:29:08,607 --> 00:29:10,440 A aj keď sme Nepovedal vám o tom, 655 00:29:10,440 --> 00:29:16,240 C má tiež ukazovatele na funkcie, o schopnosť prejsť a priradiť funkcie 656 00:29:16,240 --> 00:29:18,330 ako samotných hodnôt premenných. 657 00:29:18,330 --> 00:29:20,280 A my nejdeme vracať sa späť na C. 658 00:29:20,280 --> 00:29:23,250 Ale teraz, sa ukazuje, že Na pravej strane sa tu, 659 00:29:23,250 --> 00:29:26,260 aj keď to vyzerá trochu funky, to znamená, hej prehliadač, 660 00:29:26,260 --> 00:29:27,550 daj mi funkciu. 661 00:29:27,550 --> 00:29:30,560 Nebudem sa ani neobťažoval dať to meno, pretože som doslova 662 00:29:30,560 --> 00:29:34,450 chystá priradiť nazvime to adresa tejto funkcie 663 00:29:34,450 --> 00:29:35,994 okamžite onSubmit. 664 00:29:35,994 --> 00:29:39,160 Inými slovami, prehliadača, nepotrebujete vedieť, čo táto funkcia sa nazýva. 665 00:29:39,160 --> 00:29:41,890 Musíte len vedieť, ak je v pamäti. 666 00:29:41,890 --> 00:29:44,210 A tak stačí len preto, aby majú znamienko rovnosti tam 667 00:29:44,210 --> 00:29:48,240 a nezaťažovať vymenovať to, ako foo alebo pozdraviť alebo akékoľvek iné slovo. 668 00:29:48,240 --> 00:29:50,150 A teraz je to len štylistický vec. 669 00:29:50,150 --> 00:29:53,100 Mohol by som presunúť zložená zátvorka na the-- sorry-- ďalší riadok 670 00:29:53,100 --> 00:29:54,750 ako my zvyčajne robia CS50. 671 00:29:54,750 --> 00:29:57,550 Ale v JavaScriptu, je to skutočne štýlovo obyčajný 672 00:29:57,550 --> 00:30:00,450 len držať zloženú zátvorkou sa Prvý z nich, v tomto prvom riadku. 673 00:30:00,450 --> 00:30:02,620 >> Ale ďalej, je tu nič zaujímavé. 674 00:30:02,620 --> 00:30:05,830 To open zložená zátvorka len vymedzuje začiatok mojej funkcie. 675 00:30:05,830 --> 00:30:09,320 Funkcia je teraz totožné, s výnimkou som 676 00:30:09,320 --> 00:30:11,452 zahŕňali return false vnútri tejto funkcie. 677 00:30:11,452 --> 00:30:13,160 Vzhľadom k tomu, že sa otočí out-- A vy by ste len 678 00:30:13,160 --> 00:30:14,980 viem, že to od čítania documentation-- 679 00:30:14,980 --> 00:30:19,740 že ak funkciu, ktorú priradíte na onSubmit psovod vráti hodnotu false, 680 00:30:19,740 --> 00:30:23,420 prehliadač proste vie a súhlasí s tým, Nie je odoslať formulár na server. 681 00:30:23,420 --> 00:30:27,210 Ak sa vráti hodnotu true, bude predkladať že k serveru z dôvodov, uvidíme, 682 00:30:27,210 --> 00:30:28,700 sú užitočné len na chvíľu. 683 00:30:28,700 --> 00:30:31,000 >> A potom sa po bodkočiarka Kučeravý rovnátka tam proste 684 00:30:31,000 --> 00:30:32,541 znamená, že som urobil definovanie funkcie. 685 00:30:32,541 --> 00:30:36,600 Viete, čo máte čo najskôr zavolať ako počujete podanie. 686 00:30:36,600 --> 00:30:37,100 Dobre. 687 00:30:37,100 --> 00:30:40,650 To je stále pravdepodobne trochu škaredé. 688 00:30:40,650 --> 00:30:42,190 Takže čo viac môžeme urobiť? 689 00:30:42,190 --> 00:30:45,000 >> No, to dopadá potom v verzia dve, čo je last-- 690 00:30:45,000 --> 00:30:46,780 a my si len pohľad na to. 691 00:30:46,780 --> 00:30:49,850 Na existuje nebezpečenstvo, že to škaredšie, sa ukazuje, 692 00:30:49,850 --> 00:30:52,160 že je tu knižnica svet volal jQuery. 693 00:30:52,160 --> 00:30:54,900 A jQuery je super populárne knižnica JavaScript 694 00:30:54,900 --> 00:30:57,930 to je tak populárne, že väčšina akýkoľvek JavaScript-- to nie je 695 00:30:57,930 --> 00:31:00,540 nezvyčajné pre ľudí pletú jQuery s JavaScript. 696 00:31:00,540 --> 00:31:01,070 Prečo? 697 00:31:01,070 --> 00:31:04,990 Samotný JavaScript má veľmi verbose spôsoby, ako robiť things-- 698 00:31:04,990 --> 00:31:07,820 document.getElementById, dadadadadada. 699 00:31:07,820 --> 00:31:10,510 Môžete skončiť s veľmi dlhých riadkov kódu. 700 00:31:10,510 --> 00:31:15,550 >> Takže chlapík menom John Resid, kto vlastne pracuje pre uvedenie do prevádzky 701 00:31:15,550 --> 00:31:18,630 up v týchto dňoch, vyšiel s touto knižnicou rokov 702 00:31:18,630 --> 00:31:22,070 Pred, že mnoho ľudí prispelo k tzv jQuery, ktorý mení 703 00:31:22,070 --> 00:31:23,449 syntaxe v nasledujúcom spôsobom. 704 00:31:23,449 --> 00:31:25,740 A len tak ste videli to, pretože budete vždy 705 00:31:25,740 --> 00:31:28,140 pozri, pokiaľ Doing záverečný projekt web-based, 706 00:31:28,140 --> 00:31:33,270 to by bolo ekvivalentné spôsob ktorým sa vykonáva, že rovnaké funkcie pomocou 707 00:31:33,270 --> 00:31:34,630 Táto špeciálna knižnica. 708 00:31:34,630 --> 00:31:36,680 >> Teraz, skôr než dráždiť že od seba v celom svojom rozsahu, 709 00:31:36,680 --> 00:31:38,520 nech to len pozrieť na niektoré vzory. 710 00:31:38,520 --> 00:31:44,850 Táto syntax vyzerá, že má koľko anonymné funkcie 711 00:31:44,850 --> 00:31:49,584 alebo bezmenných funkcie alebo AKA lambda funkcie? 712 00:31:49,584 --> 00:31:50,190 Dva, jo? 713 00:31:50,190 --> 00:31:52,690 A viete, že aj v prípade, nie ste mimoriadne pohodlné s tým, 714 00:31:52,690 --> 00:31:55,780 len tým, že skutočnosť, že sa hovorí, že funkcia () dvakrát. 715 00:31:55,780 --> 00:31:58,172 >> A ukázalo sa, že čo tento kód je doing-- 716 00:31:58,172 --> 00:32:01,255 a budeme odkazovať na on-line referencií, nakoniec, o nejakú pomoc s tým. 717 00:32:01,255 --> 00:32:04,480 To jednoducho znamená, že pri Dokument je teraz pripravený, 718 00:32:04,480 --> 00:32:07,490 pokračovať a zaregistrovať nasledujúce funkcie 719 00:32:07,490 --> 00:32:12,064 ako predložiť handler pre HTML prvok, ktorého jedinečný nápad, je demo. 720 00:32:12,064 --> 00:32:14,480 A potom, keď sa to stane, volať tieto dva riadky kódu. 721 00:32:14,480 --> 00:32:18,677 A to je, tragicky, viac verbose spôsob, ako hovoriť return false. 722 00:32:18,677 --> 00:32:21,510 A sme spomenuli to len preto, uvidíte kód, ako je tento online. 723 00:32:21,510 --> 00:32:23,140 A nie je to nič, aby sa odradiť. 724 00:32:23,140 --> 00:32:26,057 Ale skôr, majte na pamäti, že to, čo je Bude obyčajný v JavaScripte 725 00:32:26,057 --> 00:32:26,765 to je paradigma. 726 00:32:26,765 --> 00:32:29,510 A tak to je dôvod, prečo sme to ukázať teraz. 727 00:32:29,510 --> 00:32:30,010 Dobre. 728 00:32:30,010 --> 00:32:32,730 Takže bez obydlia príliš veľa na tom syntax, 729 00:32:32,730 --> 00:32:37,800 sú tam sú nejaké otázky týkajúce Tieto príklady alebo nápady tak ďaleko? 730 00:32:37,800 --> 00:32:38,300 Dobre. 731 00:32:38,300 --> 00:32:40,220 Takže poďme použiť pre niečo užitočného. 732 00:32:40,220 --> 00:32:47,070 Tvorba webovú stránku, ktorá jednoducho hovorí ahoj, tak a tak nie je všetko tak zaujímavé, 733 00:32:47,070 --> 00:32:47,830 nie chladným. 734 00:32:47,830 --> 00:32:51,038 Ten to nebude byť krásne, ale to bude robiť niečo užitočného. 735 00:32:51,038 --> 00:32:56,350 Nechaj ma ísť späť do môjho adresára tu a otvoriť, povedzme, form-0.html. 736 00:32:56,350 --> 00:32:59,320 >> Takže predpokladám, že je to nováčik intramurální športové registračnej stránke 737 00:32:59,320 --> 00:33:01,780 bez akéhokoľvek CSS alebo žiadnom zmysle dizajnu. 738 00:33:01,780 --> 00:33:05,404 A ja chcem, aby do toho pustite a registrovať tu s heslom. 739 00:33:05,404 --> 00:33:08,320 A budem súhlasiť s podmienkami a podmienky, a kliknite na tlačidlo Registrovať. 740 00:33:08,320 --> 00:33:11,700 A teraz na internetových stránkach hovorí: "Si registrovaný! (No, nie tak celkom.) " 741 00:33:11,700 --> 00:33:15,070 To sa zdá, ako by to fungovalo, ale nechaj ma ísť napred a donútiť Znova načítať. 742 00:33:15,070 --> 00:33:18,720 >> A dovoľte mi povedať, nie, to nie potrebovať moju skutočnú e-mailovú adresu. 743 00:33:18,720 --> 00:33:21,820 Alebo možno budeme len povedať, poštu tam. 744 00:33:21,820 --> 00:33:25,080 Heslo bude, rovnako ako, 12345. 745 00:33:25,080 --> 00:33:28,810 A potom, práve preto, že som idiot, teraz je to 123456789. 746 00:33:28,810 --> 00:33:31,150 A ja nebudem skontrolovať políčko. 747 00:33:31,150 --> 00:33:31,850 >> Hmm. 748 00:33:31,850 --> 00:33:32,350 Dobre. 749 00:33:32,350 --> 00:33:34,920 Takže tam je niekoľko príležitostí pre zlepšenie tu. 750 00:33:34,920 --> 00:33:39,070 A ty vieš, alebo budú vidieť v pset seven, že môžete písať code-- 751 00:33:39,070 --> 00:33:41,890 a budete musieť písať Kód v PHP-- na obranu 752 00:33:41,890 --> 00:33:45,780 proti týmto druhom užívateľa Chyby pretože užívateľ jasne 753 00:33:45,780 --> 00:33:46,790 nespolupracovala. 754 00:33:46,790 --> 00:33:49,680 A on alebo ona vám nedal všetky hodnoty ste chceli, alebo dokonca vo formáte 755 00:33:49,680 --> 00:33:50,630 že ste ich chceli. 756 00:33:50,630 --> 00:33:53,250 Tak uvidíte v pset siedmich že by sme mohli iste mať nejaké 757 00:33:53,250 --> 00:33:55,680 ak podmienky, ktoré hovoria, ak e-mailovú adresu 758 00:33:55,680 --> 00:33:59,450 nie je username@something.edu, Mohli by sme 759 00:33:59,450 --> 00:34:02,575 ospravedlniť a ospravedlniť sa užívateľovi veľa, rovnako ako by ste mohli byť v pset sedem. 760 00:34:02,575 --> 00:34:05,700 Alebo, ak to nie je zaškrtnutá tú krabicu, Ukazuje sa v PHP, môžete zistiť, že, 761 00:34:05,700 --> 00:34:06,200 taky. 762 00:34:06,200 --> 00:34:09,389 A určite, ak hesiel nezodpovedajú ako v register.php 763 00:34:09,389 --> 00:34:11,521 pre pset sedem, môžete zistiť, že. 764 00:34:11,521 --> 00:34:13,770 Ale to je bolesť v krk v tom, že teraz si vyžiadajú 765 00:34:13,770 --> 00:34:15,510 aby sme išli celú cestu na server. 766 00:34:15,510 --> 00:34:17,053 Užívateľ je informovaný o chybe. 767 00:34:17,053 --> 00:34:19,219 A aspoň pokiaľ nepoužijete niektoré milovník techniky, 768 00:34:19,219 --> 00:34:20,929 teraz majú kliknúť na šípku späť. 769 00:34:20,929 --> 00:34:23,300 Nebolo by pekné, ako mnoho internetových stránok dnes, 770 00:34:23,300 --> 00:34:26,190 ak ste mali viac bezprostrednej spätná väzba, okamžite? 771 00:34:26,190 --> 00:34:31,389 >> Inými slovami, nechaj ma ísť na verziu človek, ktorý sa chystá byť krajší. 772 00:34:31,389 --> 00:34:33,469 Ale to predsa má túto funkciu. 773 00:34:33,469 --> 00:34:39,590 Malan, 12345, 123456789, nie chystá označte políčko, Register. 774 00:34:39,590 --> 00:34:41,330 Heslá sa nezhodujú. 775 00:34:41,330 --> 00:34:44,459 Takže aj keď to pop-up je ugly-- môžeme nahradiť to nakoniec 776 00:34:44,459 --> 00:34:47,000 s niečím, ako bootstrap, ktoré uvidíte v pset siedmich 777 00:34:47,000 --> 00:34:50,239 je veľmi populárny library-- som urobil zistí, že heslá sa nezhodujú. 778 00:34:50,239 --> 00:34:50,739 Dobre. 779 00:34:50,739 --> 00:34:52,530 No, dovoľte mi, aby som opraviť, že ako užívateľ. 780 00:34:52,530 --> 00:34:55,460 Nechaj ma ísť ďalej a povedať, 12345, 12345. 781 00:34:55,460 --> 00:34:57,780 Stále nie je kontrola dohodu. 782 00:34:57,780 --> 00:35:00,210 Musíte súhlasiť s podmienky. 783 00:35:00,210 --> 00:35:01,760 Tak prečo? 784 00:35:01,760 --> 00:35:04,100 >> Ak sme už predpokladal že existuje spôsob, 785 00:35:04,100 --> 00:35:07,260 a my sme vás požadované pset siedmich odhaliť chyby 786 00:35:07,260 --> 00:35:09,780 podmienky, ako to server-side, prečo by som mal 787 00:35:09,780 --> 00:35:13,940 obťažovať tiež robí v JavaScriptu? 788 00:35:13,940 --> 00:35:15,850 Čo je to argument priazeň pridávanie čo 789 00:35:15,850 --> 00:35:18,760 ste asi vidieť, ako some-- je tu ďalší zložitosť. 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> Možno, že nie je hore. 792 00:35:25,930 --> 00:35:26,924 Čo by to mohlo byť? 793 00:35:26,924 --> 00:35:27,840 Divákov: [Nepočuteľné]. 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVID Malan: Oh, zaujímavé. 796 00:35:32,340 --> 00:35:33,530 Potenciálne využije. 797 00:35:33,530 --> 00:35:37,540 Takže si istý, ak si nie ste manipuláciu chybný vstup používateľa, ktorý skvele, 798 00:35:37,540 --> 00:35:40,170 Možno je to všetko lepšie, keď to nedosahuje ani váš server. 799 00:35:40,170 --> 00:35:42,160 Ja by som tlačiť tam a povedzme, asi by ste mali 800 00:35:42,160 --> 00:35:43,284 opraviť oba tieto problémy. 801 00:35:43,284 --> 00:35:44,140 Ale to je fér. 802 00:35:44,140 --> 00:35:44,710 Čo ešte? 803 00:35:44,710 --> 00:35:45,626 >> Divákov: [Nepočuteľné]. 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVID Malan: Jo. 806 00:35:49,014 --> 00:35:51,680 Tento kód, ako sme povedali skôr, je interpretované na strane klienta. 807 00:35:51,680 --> 00:35:53,846 To neobťažuje servera, čo znamená, že to nie je 808 00:35:53,846 --> 00:35:55,930 vplyv zaťaženie servera alebo kapacity. 809 00:35:55,930 --> 00:35:59,840 A teraz, pre malá stará ma, nemá žiadny podstatný vplyv 810 00:35:59,840 --> 00:36:01,970 preto, že mám jedného používateľa práve teraz. 811 00:36:01,970 --> 00:36:04,010 >> Ale ak ste niektorý Webové stránky slušné veľkosti, 812 00:36:04,010 --> 00:36:07,400 najmä najväčší, ako je Facebook, tým viac môžete udržať ľudí off 813 00:36:07,400 --> 00:36:09,927 Vášho servera, tým lepšie preto, že server, samozrejme, 814 00:36:09,927 --> 00:36:12,510 má iba obmedzené množstvo pamäte RAM, konečný počet gigahertzov, 815 00:36:12,510 --> 00:36:16,340 konečný počet vecí to môže urobiť za jednotku času. 816 00:36:16,340 --> 00:36:19,170 Takže ak existuje viac ľudí v Svet biť váš server, 817 00:36:19,170 --> 00:36:21,750 náhodne prihlásenie nesprávne, rovnako tak dobre, ak vy 818 00:36:21,750 --> 00:36:23,254 Môžete si tú záťaž z vášho servera. 819 00:36:23,254 --> 00:36:25,420 Navyše, a to najmä na mobil device-- ak ste niekedy 820 00:36:25,420 --> 00:36:29,190 prihláste sa alebo my.harvard Yaleův NetID alebo podobne, 821 00:36:29,190 --> 00:36:32,330 Tam je to latencia s množstvom webové stránky, ako to, kedy to berie, 822 00:36:32,330 --> 00:36:34,110 ako, sakramentsky sekundu alebo dve niekedy. 823 00:36:34,110 --> 00:36:37,979 A potom, Bože môj, ak napíšete, potom musíte trafiť späť a znovu ju. 824 00:36:37,979 --> 00:36:40,520 Takže tam je čakacia doba, a to najmä na pomalších pripojenie k sieti. 825 00:36:40,520 --> 00:36:43,030 Ale JavaScript, pretože to beží na strane klienta 826 00:36:43,030 --> 00:36:46,720 a nemusí ísť tam a späť cez potenciálne pomalý internet 827 00:36:46,720 --> 00:36:49,780 pripojenie, môžete získať takmer okamžitá spätná väzba. 828 00:36:49,780 --> 00:36:50,760 >> Takže poďme sa pozrieť na to. 829 00:36:50,760 --> 00:36:54,280 Dovoľte mi, aby som otvárajú form-0 a pozrite sa na HTML tu. 830 00:36:54,280 --> 00:36:56,040 A nech to len zistiť, čo sa deje. 831 00:36:56,040 --> 00:36:59,460 Toto je forma, ktorej akcia je register.php. 832 00:36:59,460 --> 00:37:01,530 Ja som len pomocou sa tak že som mohol vidieť URL. 833 00:37:01,530 --> 00:37:05,030 Ale pre heslá, by sme určite chceme zmeniť tento post v skutočnosti. 834 00:37:05,030 --> 00:37:06,910 Tu je vstupné pole typu text. 835 00:37:06,910 --> 00:37:09,050 Tu je ďalší vstup poľa zadajte heslo. 836 00:37:09,050 --> 00:37:13,150 Tu je, ak ste nikdy nevideli, vstup zaškrtávacie políčko typu. 837 00:37:13,150 --> 00:37:15,250 >> Ale nie je JavaScript tu vôbec. 838 00:37:15,250 --> 00:37:18,170 To je len, že HTML ide do register.php. 839 00:37:18,170 --> 00:37:21,020 Ale v jednej verzii, kde som začal dostať tie pop-up, 840 00:37:21,020 --> 00:37:23,010 poďme sa pozrieť, čo sa tu vlastne deje. 841 00:37:23,010 --> 00:37:26,757 Vo verzii jedna, čo Budem see-- Aj 842 00:37:26,757 --> 00:37:29,340 Myslel som, že by mohol zastaviť dosť s dostatočným počtom slov, ale ja bežal von. 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> Vo verzii one-- tam ideme. 845 00:37:38,590 --> 00:37:43,180 Vo verzii jedna, všimnete following-- a nie je najlepší vykonávania, 846 00:37:43,180 --> 00:37:44,420 ale je to moja prvá. 847 00:37:44,420 --> 00:37:47,680 Všimnite si, že pod forma, mám tag script. 848 00:37:47,680 --> 00:37:49,430 A tag script znamená, hej, prehliadač, tu 849 00:37:49,430 --> 00:37:52,340 príde nejaký kód, typicky, JavaScript. 850 00:37:52,340 --> 00:37:54,420 A teraz si všimnite, čo robím. 851 00:37:54,420 --> 00:37:59,070 Na line-- môžem sotva čítať to-- potrubím 32, hovorí, 852 00:37:59,070 --> 00:38:01,420 var form-- tak mi daj premenná s názvom formulára. 853 00:38:01,420 --> 00:38:05,049 A potom sa document.getElementId "registrácia". 854 00:38:05,049 --> 00:38:05,590 Čo to je? 855 00:38:05,590 --> 00:38:07,290 No, dovoľte mi, aby som prevíjanie sem. 856 00:38:07,290 --> 00:38:11,510 A upozornenie, ach, ja som dal tvarový prvok ľubovoľný ale opisný nápad 857 00:38:11,510 --> 00:38:13,050 registrácie. 858 00:38:13,050 --> 00:38:16,820 Tak to mi dáva premennú, ktorá mi umožňuje uchopiť tento uzol, 859 00:38:16,820 --> 00:38:19,580 že obdĺžnik v strome s názvom formulár. 860 00:38:19,580 --> 00:38:24,460 form.onsubmit prostriedky, hej prehliadač, zaregistrovať poslucháča udalostí 861 00:38:24,460 --> 00:38:25,470 na tomto formulári. 862 00:38:25,470 --> 00:38:28,890 Inými slovami, keď táto forma je predložené, spustite nasledujúci kód. 863 00:38:28,890 --> 00:38:30,810 To nepotrebuje meno, pretože Prečo potrebujete poznať názov? 864 00:38:30,810 --> 00:38:32,880 Musíte len vedieť, čo vykonať, ergo 865 00:38:32,880 --> 00:38:35,610 je to anonymné alebo lambda funkciu. 866 00:38:35,610 --> 00:38:37,632 A to je funkcia , Všetky tieto riadky tu. 867 00:38:37,632 --> 00:38:40,840 A teraz, aby som bol úprimný, aj keď nemuselo kedy bola napísaná JavaScript 868 00:38:40,840 --> 00:38:44,200 predtým, je to len C a PHP logiku. 869 00:38:44,200 --> 00:38:51,720 Takže ak form.email.value == "" - takže v prípade, že e-mail pole prázdne, 870 00:38:51,720 --> 00:38:54,980 kričať na užívateľa s "Musíš poskytnúť svoju e-mailovú adresu. " 871 00:38:54,980 --> 00:38:58,980 Else ak form.password.value prázdne kričať na užívateľov, 872 00:38:58,980 --> 00:39:00,400 "Musíte zadať heslo." 873 00:39:00,400 --> 00:39:04,240 >> Zaujímavejšie logicky, pokiaľ nie je form.password.value 874 00:39:04,240 --> 00:39:08,630 rovný form.confirmation.value-- kde sa potvrdenie pochádzajú? 875 00:39:08,630 --> 00:39:09,470 Dovoľte mi, aby som pretočiť. 876 00:39:09,470 --> 00:39:12,870 No, volal som tento vstup Pole tu heslo. 877 00:39:12,870 --> 00:39:15,180 A tu Volal som tento potvrdenie. 878 00:39:15,180 --> 00:39:17,850 Mohol som to nazval Heslo dvoch alebo čokoľvek iného. 879 00:39:17,850 --> 00:39:20,560 Len logicky kontrolu že tieto dva sú rovnaké. 880 00:39:20,560 --> 00:39:25,760 Else-- to dopadá to je pán Boole again-- zaškrtávacie políčko logickú hodnotu ,. 881 00:39:25,760 --> 00:39:29,810 Takže keď poviem, zvolanie point-- ak nie form.agreement.checked, 882 00:39:29,810 --> 00:39:31,820 kričať na používateľa, ako. 883 00:39:31,820 --> 00:39:34,470 >> Takže táto syntaxe uvidíte, je veľmi časté v JavaScripte, 884 00:39:34,470 --> 00:39:35,970 kde máte túto formáte s bodkami. 885 00:39:35,970 --> 00:39:37,460 Začnete s objektom tu. 886 00:39:37,460 --> 00:39:41,430 Sa ponoríte hlbšie do A do vlastnosť ako heslo. 887 00:39:41,430 --> 00:39:43,280 A potom sa dostanete na jeho skutočnej hodnote. 888 00:39:43,280 --> 00:39:45,830 A opäť, tu je vstup. 889 00:39:45,830 --> 00:39:47,310 Tu je názov heslo. 890 00:39:47,310 --> 00:39:50,860 A jeho hodnota je bez ohľadu na človek skutočne zadať. 891 00:39:50,860 --> 00:39:53,610 >> Takže všetky tieto prípady, som sa vrátil false. 892 00:39:53,610 --> 00:39:55,800 Ale ak nie, vráťte mi pravda. 893 00:39:55,800 --> 00:39:58,030 A tak teraz vidíme presvedčivé využitie pri 894 00:39:58,030 --> 00:40:00,620 by ste sa vrátiť false zastaviť to, čo používateľ robí 895 00:40:00,620 --> 00:40:03,200 a urobiť ho, alebo jej vybrať znovu alebo zadajte znova. 896 00:40:03,200 --> 00:40:05,870 V opačnom prípade vrátime true. 897 00:40:05,870 --> 00:40:08,585 >> A dovoľte mi predstaviť jeden Druhá varianta z toho len 898 00:40:08,585 --> 00:40:13,140 na osivo z toho určité pochopenie. 899 00:40:13,140 --> 00:40:16,850 No, vo verzii 2 tohto článku, form-2-- Urobím to s mávnutím ruky. 900 00:40:16,850 --> 00:40:19,920 To je pre tých, zvedavý, verzia jQuery, 901 00:40:19,920 --> 00:40:23,330 tých z vás, ktorí by mohli chcieť fušovať v tejto konkrétnej knižnice. 902 00:40:23,330 --> 00:40:25,145 Ale poďme start-- a nejaké otázky? 903 00:40:25,145 --> 00:40:29,230 Dovoľte mi, aby som na chvíľu pozastaviť nasledujúcich dôvodov to bolo rýchle a veľa. 904 00:40:29,230 --> 00:40:32,610 >> Ale pekná vec je, že všetky kódu je skoro rovnaký. 905 00:40:32,610 --> 00:40:33,985 Nový materiál je to, čo je dom? 906 00:40:33,985 --> 00:40:35,115 Aké sú tieto obdĺžniky? 907 00:40:35,115 --> 00:40:35,990 Aké sú tieto uzly? 908 00:40:35,990 --> 00:40:37,540 Čo je to anonymný funkcie? 909 00:40:37,540 --> 00:40:38,830 Čo je to spracovanie udalosti? 910 00:40:38,830 --> 00:40:43,480 Ale našťastie, väčšina z toho je len kruh od, povedzme, týždeň nula. 911 00:40:43,480 --> 00:40:43,980 Dobre. 912 00:40:43,980 --> 00:40:46,070 Takže niečo trochu zaujímavejšie? 913 00:40:46,070 --> 00:40:49,340 No, v prvom rade, nechajte ma ísť vpred a otvoriť Google Maps. 914 00:40:49,340 --> 00:40:53,360 A všimnite si, že pre moment, na zlomok sekundy, 915 00:40:53,360 --> 00:40:55,930 Všimnite si, čo sa stane, keď Aj kliknite na tlačidlo dostatočne rýchlo. 916 00:40:55,930 --> 00:40:59,720 A toto spojenie na Harvarde, je tak rýchlo, že nemáte naozaj nevšimol. 917 00:40:59,720 --> 00:41:04,469 Ale čo tak nejako nejako vidieť keď som kliknúť a ťahať naozaj rýchlo? 918 00:41:04,469 --> 00:41:07,010 Tí z vás, sledovanie on-line, ak sa spomalí tento rýchlosti 0,5x, 919 00:41:07,010 --> 00:41:09,640 môžete vidieť lepšie. 920 00:41:09,640 --> 00:41:13,550 >> Čo sa deje práve Než som klikol a ťahal? 921 00:41:13,550 --> 00:41:15,900 Skúsim here-- ma nechaj robiť niečo iné, ako je 90210. 922 00:41:15,900 --> 00:41:17,550 Poďme ďaleko. 923 00:41:17,550 --> 00:41:19,000 To bol naozaj rýchly, taky. 924 00:41:19,000 --> 00:41:22,460 Ako sa o Disney World? 925 00:41:22,460 --> 00:41:23,190 Tam sme ísť. 926 00:41:23,190 --> 00:41:23,690 OK. 927 00:41:23,690 --> 00:41:26,030 To, čo ste videl na zlomok sekundy? 928 00:41:26,030 --> 00:41:27,200 Rovnako, ako, námestie, nie? 929 00:41:27,200 --> 00:41:28,930 Zástupné znaky pre dlaždice? 930 00:41:28,930 --> 00:41:30,270 >> No, čo sa to tu deje? 931 00:41:30,270 --> 00:41:35,410 Mapy Google je pekný príklad táto technológia, ktorá sa nazýva AJAX. 932 00:41:35,410 --> 00:41:38,510 A to je miesto, kde budeme začať použite JavaScript v obzvlášť 933 00:41:38,510 --> 00:41:39,277 vyzývavý spôsobom. 934 00:41:39,277 --> 00:41:41,610 Späť v deň, tam bol Táto webová stránka s názvom MapQuest. 935 00:41:41,610 --> 00:41:44,120 A ja som mal prijaté screenshot to z 1990, 936 00:41:44,120 --> 00:41:45,820 kde, ak ste chceli vyhľadať tu na mape, 937 00:41:45,820 --> 00:41:48,590 by ste doslova kliknite na šípku up na vrchole, ktorý vám ukázal, 938 00:41:48,590 --> 00:41:49,870 iný štvorec mapy. 939 00:41:49,870 --> 00:41:51,790 Ak by ste chceli, aby pohyb doľava, ty kliknutí na šípku, ktorá vám ukázal, 940 00:41:51,790 --> 00:41:53,210 iný štvorec mapy. 941 00:41:53,210 --> 00:41:54,840 A niektoré webové stránky ešte urobiť to dnes. 942 00:41:54,840 --> 00:41:57,820 Ale aj MapQuest dostal lepší, rovnako ako Google Maps. 943 00:41:57,820 --> 00:42:01,880 >> Namiesto toho, čo je lepšie tieto dni sa webové stránky, ktoré používajú AJAX. 944 00:42:01,880 --> 00:42:04,510 AJAX-- inak známy ako Asynchronous JavaScript a XML, 945 00:42:04,510 --> 00:42:08,370 čo je len fantázia spôsob, ako hovoriť technológia alebo technika, ktorá 946 00:42:08,370 --> 00:42:14,200 umožňuje prehliadač pomocou JavaScript vykonať ďalšie požiadavky HTTP 947 00:42:14,200 --> 00:42:16,390 potom, čo bola stránka načítaná. 948 00:42:16,390 --> 00:42:17,479 Takže čo to znamená? 949 00:42:17,479 --> 00:42:19,270 No, bolo by to byť láskavý otravné v Gmail 950 00:42:19,270 --> 00:42:21,103 ak zakaždým, keď chcel skontrolovať poštu, 951 00:42:21,103 --> 00:42:24,940 ste sa doslova hit Control-R alebo Command-R alebo kliknite na tlačidlo Obnoviť 952 00:42:24,940 --> 00:42:26,580 a celý sakramentsky stránka by sa znovu načítať. 953 00:42:26,580 --> 00:42:26,800 Je to tak? 954 00:42:26,800 --> 00:42:28,460 To by blikať biela asi za sekundu. 955 00:42:28,460 --> 00:42:30,043 Tie by videl hlúpy progress bar. 956 00:42:30,043 --> 00:42:33,170 A len preto, aby zistili, či máte nový mailu, celé webové stránky a URL 957 00:42:33,170 --> 00:42:34,580 ste na bude musieť znovu načítať. 958 00:42:34,580 --> 00:42:35,960 >> Ale to nie je to, čo sa deje v Gmail. 959 00:42:35,960 --> 00:42:36,459 Je to tak? 960 00:42:36,459 --> 00:42:40,300 Keď sa dostanete nový e-mail do Gmail, čo sa deje na obrazovke? 961 00:42:40,300 --> 00:42:41,480 To len ukáže, že jo? 962 00:42:41,480 --> 00:42:44,280 Je to len zázrakom sa zdá ako nový riadok v tabuľke. 963 00:42:44,280 --> 00:42:47,030 Že v skutočnosti zahŕňa slušné množstvo zložitosti. 964 00:42:47,030 --> 00:42:51,892 V skutočnosti, ak si myslíte, že o tohto stromu, ktorý, aj keď je jednoduchá tu 965 00:42:51,892 --> 00:42:54,100 Gmail-- a ja by som sa pozrieť v kóde byť sure-- 966 00:42:54,100 --> 00:42:58,710 má pravdepodobne tabuľku HTML alebo možno neusporiadané zoznam, ktorý ich robí 967 00:42:58,710 --> 00:43:01,060 každý z vašich zložiek s doručenou poštou e-maily ako. 968 00:43:01,060 --> 00:43:04,050 >> A tak, keď si predstavíme to tam je strom v pamäti, keď ste 969 00:43:04,050 --> 00:43:09,050 Gmail, ktorý vyzerá trochu druh takto, keď Google si uvedomuje, ooh, 970 00:43:09,050 --> 00:43:12,770 máte nový e-mail, to nie je chcete prestavať celý strom. 971 00:43:12,770 --> 00:43:16,430 Skôr to chce nájsť uzol v strom, ktorý reprezentuje vašej schránky 972 00:43:16,430 --> 00:43:18,580 a stačí vložiť nový uzol. 973 00:43:18,580 --> 00:43:24,640 >> Takže veľmi podobný pset päť, kde na vás musel vložiť uzly do hash tabuľky, 974 00:43:24,640 --> 00:43:28,410 Rovnako tak robí Google, prostredníctvom JavaScript kód, ktorý to napísal, 975 00:43:28,410 --> 00:43:31,890 Traverse tohto stromu, zistiť, kde je, že e-mailové schránky časti okna, 976 00:43:31,890 --> 00:43:33,440 a potom vložte nový riadok. 977 00:43:33,440 --> 00:43:37,460 A nový riadok práve znamená jeden alebo viac nových uzlov v strome. 978 00:43:37,460 --> 00:43:41,340 >> A tak AJAX, je táto technika , Ktorá umožňuje presne to. 979 00:43:41,340 --> 00:43:44,440 Potom, čo ste navštívil URL, ale blázon dlho to je, 980 00:43:44,440 --> 00:43:46,472 a akonáhle je stránka nahraný, môžete stále 981 00:43:46,472 --> 00:43:48,430 odtiahnuť viac dát z internet-- či už je to 982 00:43:48,430 --> 00:43:52,460 e-mail alebo dlaždice z map-- chytiť ju v zákulisí 983 00:43:52,460 --> 00:43:55,290 a vložte ju do stránky tak, aby sa ľudská nie je naozaj 984 00:43:55,290 --> 00:43:56,910 musieť počkať na to. 985 00:43:56,910 --> 00:43:58,980 >> Facebook Messenger funguje rovnakým spôsobom. 986 00:43:58,980 --> 00:44:01,562 Ľubovoľný počet ďalších websites-- oh, vlastne, aj tento. 987 00:44:01,562 --> 00:44:04,270 Myslím, že to je, úprimne povedané, druh otravné majú v týchto dňoch. 988 00:44:04,270 --> 00:44:07,500 Mám chcete začať hľadať cats-- to je niečo hrozného užívateľské skúsenosti. 989 00:44:07,500 --> 00:44:08,990 Je to proste začne vyhľadávať pre mňa. 990 00:44:08,990 --> 00:44:10,050 No, čo sa to robí? 991 00:44:10,050 --> 00:44:12,920 Adresa URL sa príliš nezmenil od tej doby som začal písať. 992 00:44:12,920 --> 00:44:17,330 Ale to, čo sa deje v celej EÚ wire-- OK, hmm zaujímavé. 993 00:44:17,330 --> 00:44:20,470 Čo sa to deje naprieč drôt tu jednoducho dostane divnejšie. 994 00:44:20,470 --> 00:44:21,090 >> OK. 995 00:44:21,090 --> 00:44:24,670 Tak nechaj ma ísť dopredu a skontrolujte element a prejdite na kartu Sieť 996 00:44:24,670 --> 00:44:27,040 a snaží sa, aby to technické a menej o mačkách. 997 00:44:27,040 --> 00:44:32,595 Ako som typ, a to doslova, mačky a-, čo sa deje 998 00:44:32,595 --> 00:44:37,710 per-- Nebudem kliknúť to. 999 00:44:37,710 --> 00:44:38,210 Dobre. 1000 00:44:38,210 --> 00:44:44,280 Tak tu, čo sa deje každý keď som zadajte znak, zrejme? 1001 00:44:44,280 --> 00:44:45,000 Rovnako ako, nízka úroveň? 1002 00:44:45,000 --> 00:44:47,860 Čo sa deje s každým z nich znaky Píšem na svoju klávesnicu? 1003 00:44:47,860 --> 00:44:48,359 Jo? 1004 00:44:48,359 --> 00:44:50,950 Divákov: [Nepočuteľné]. 1005 00:44:50,950 --> 00:44:52,340 >> DAVID Malan: Presne tak. 1006 00:44:52,340 --> 00:44:55,600 Každá z týchto postáv je ísť do Google, jeden po druhom. 1007 00:44:55,600 --> 00:44:58,490 Sú budovanie reťazec na svojom serveri, ktorý predstavuje 1008 00:44:58,490 --> 00:44:59,936 všetko, čo som napísal v tak ďaleko. 1009 00:44:59,936 --> 00:45:01,810 A zakaždým, keď som typ ďalšie charakter, oni 1010 00:45:01,810 --> 00:45:04,530 používať ich tajný recept z A vyhľadávací algoritmus a prísť na to, 1011 00:45:04,530 --> 00:45:07,370 tým má na mysli túto stránku mačka alebo táto mačka stránku alebo podobne? 1012 00:45:07,370 --> 00:45:10,620 Tak v určitom zmysle, že poskytuje ma s lepšie skúsenosti v tom, že nemám ani 1013 00:45:10,620 --> 00:45:11,860 je potrebné dokončiť svoj myšlienku. 1014 00:45:11,860 --> 00:45:14,440 A skutočne, je to užitočný vec, automatického dokončovania všeobecne. 1015 00:45:14,440 --> 00:45:17,690 Ak sa ich algoritmy sú dosť dobré a či moje vyhľadávanie sú dostatočne zrejmé, 1016 00:45:17,690 --> 00:45:19,300 Nemám zadajte celé slovo. 1017 00:45:19,300 --> 00:45:22,110 Chystajú sa mi povedať, čo to je, že som vlastne hľadal. 1018 00:45:22,110 --> 00:45:25,940 Takže to, čo Google nazýva instant vyhľadávanie len pomocou AJAX, 1019 00:45:25,940 --> 00:45:30,820 pomocou kódu, ktorý im umožňuje požadovať dodatočný obsah pomocou webového prehliadača 1020 00:45:30,820 --> 00:45:34,026 v zákulisí pomocou tohto nový jazyk, JavaScript. 1021 00:45:34,026 --> 00:45:35,400 Takže máme pár minút odišiel. 1022 00:45:35,400 --> 00:45:37,710 A dovoľte mi zavolať môj kamarát Colton up na javisko, 1023 00:45:37,710 --> 00:45:40,090 pretože sa zdalo, najmä zábava naposledy 1024 00:45:40,090 --> 00:45:42,290 zaviesť technológiu že niektorí z vás 1025 00:45:42,290 --> 00:45:44,769 vyjadrili záujem pre finálnu projekty. 1026 00:45:44,769 --> 00:45:47,310 Mysleli sme si, že by bolo zábavné, aby up dobrovoľník, aj keď, dnes 1027 00:45:47,310 --> 00:45:50,074 ukázať vám doplnok k to, že umožňuje vás-- jo, 1028 00:45:50,074 --> 00:45:50,990 Videl som túto hru ako prvý. 1029 00:45:50,990 --> 00:45:52,900 Poď hore. 1030 00:45:52,900 --> 00:45:53,560 Veľmi dobre. 1031 00:45:53,560 --> 00:45:55,035 Dobrá práca. 1032 00:45:55,035 --> 00:45:57,410 Chystám sa na tomto projekte Na obrazovke sa za chvíľu. 1033 00:45:57,410 --> 00:45:58,150 Aké je tvoje meno pre každého? 1034 00:45:58,150 --> 00:45:59,180 >> EFA: Som 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: Jo. 1039 00:46:00,730 --> 00:46:01,250 >> DAVID Malan: Rád ťa vidím. 1040 00:46:01,250 --> 00:46:01,600 Dobre. 1041 00:46:01,600 --> 00:46:02,590 Dovoľte mi, aby som si to pripravený. 1042 00:46:02,590 --> 00:46:04,423 Poď k stredné s Colton tu. 1043 00:46:04,423 --> 00:46:07,050 Čo Colton má vo svojich rukách dnes je diaľkové ovládanie. 1044 00:46:07,050 --> 00:46:10,440 Takže skôr než len tak stáť v trojrozmerný svet rozhliadať 1045 00:46:10,440 --> 00:46:14,080 ako Colton urobil, teraz Efa môže vlastne chodiť tým, že ide hore, 1046 00:46:14,080 --> 00:46:16,689 dole, doľava a doprava sa ako Nintendo alebo Xbox radič. 1047 00:46:16,689 --> 00:46:18,230 EFA: Chystám sa spadnúť z pódia. 1048 00:46:18,230 --> 00:46:20,500 DAVID Malan: Budem stáť zhruba sem. 1049 00:46:20,500 --> 00:46:21,991 Ale, že je tu riziko. 1050 00:46:21,991 --> 00:46:22,490 OK. 1051 00:46:22,490 --> 00:46:25,690 Takže choďte do toho a dať ti na. 1052 00:46:25,690 --> 00:46:29,315 Nechaj ma ísť dopredu a prepnite na obrazovku tu. 1053 00:46:29,315 --> 00:46:30,670 Dovoľte mi, aby som stlmiť svetlá. 1054 00:46:30,670 --> 00:46:32,780 A Colton, dovoľte mi, aby som prísť stánok vedľa vás. 1055 00:46:32,780 --> 00:46:35,520 >> Chcete vysvetliť tu s mikrofónom, čo robíme? 1056 00:46:35,520 --> 00:46:36,380 Nech sa páči. 1057 00:46:36,380 --> 00:46:37,280 >> COLTON: Iste. 1058 00:46:37,280 --> 00:46:39,980 Takže teraz sme naloženie do Oculus, 1059 00:46:39,980 --> 00:46:43,070 Myslím, že nie je v prevádzke operating-- systém, ale hlavný program, kde 1060 00:46:43,070 --> 00:46:46,630 máte prístup ku všetkým hry a Aplikácie, ktoré sú vo vašej knižnici. 1061 00:46:46,630 --> 00:46:50,060 Takže teraz, mal by povedať, kliknite na touchpad začať. 1062 00:46:50,060 --> 00:46:53,430 Touchpad to bude na na pravej strane headsetu. 1063 00:46:53,430 --> 00:46:54,569 Tak choďte do toho a tap-- 1064 00:46:54,569 --> 00:46:55,110 EFA: Oh, človeče. 1065 00:46:55,110 --> 00:46:56,443 DAVID Malan: Jo, tam idete. 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 Kvalita Efa je vidieť je oveľa vyššia kvalita. 1068 00:47:02,460 --> 00:47:03,831 To je len Wi-Fi tu. 1069 00:47:03,831 --> 00:47:05,580 COLTON: Takže to, čo ste bude chcieť robiť 1070 00:47:05,580 --> 00:47:08,350 je pozerať sa smerom nahor pravej časti obrazovky. 1071 00:47:08,350 --> 00:47:10,420 Jo, že hra na veľmi hornom rohu. 1072 00:47:10,420 --> 00:47:14,780 A potom, keď ste výberu to, kliknite na touchpad znova. 1073 00:47:14,780 --> 00:47:17,010 Myslím, že jeho Dreadhalls. 1074 00:47:17,010 --> 00:47:20,820 A potom je tu je-- sem, nech mi držať svoje okuliare pre vás. 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> Tak som mu jednoducho dal regulátor. 1077 00:47:25,790 --> 00:47:28,886 Takže teraz môžete ovládať hru. 1078 00:47:28,886 --> 00:47:30,510 Môže sa pohybovať a tak podobne. 1079 00:47:30,510 --> 00:47:31,968 Tak choďte do toho a pozrite sa až na vrchol. 1080 00:47:31,968 --> 00:47:33,640 Mali by ste vidieť novú hru. 1081 00:47:33,640 --> 00:47:36,310 Tak choďte do toho a vy môžete urobiť. 1082 00:47:36,310 --> 00:47:39,320 Teraz by ste mali byť schopní ovládať si s regulátorom, 1083 00:47:39,320 --> 00:47:43,860 tiež, akonáhle Hra načíta tu. 1084 00:47:43,860 --> 00:47:46,356 To môže byť trochu desivé. 1085 00:47:46,356 --> 00:47:47,300 >> EFA: Teraz mi povedzte. 1086 00:47:47,300 --> 00:47:50,132 OK. 1087 00:47:50,132 --> 00:47:51,080 >> COLTON: Dobre. 1088 00:47:51,080 --> 00:47:52,650 Takže potvrdzujú, že sa môžete pohybovať okolo. 1089 00:47:52,650 --> 00:47:52,750 OK. 1090 00:47:52,750 --> 00:47:53,583 Môžete sa pohybovať okolo. 1091 00:47:53,583 --> 00:47:54,300 Perfektné. 1092 00:47:54,300 --> 00:47:56,470 Takže keď sa pozriete dole, máte mapu. 1093 00:47:56,470 --> 00:47:58,170 Mapa vám ukazuje, kde sa práve nachádzate. 1094 00:47:58,170 --> 00:47:59,720 Môžete sa pozrieť po miestnosti. 1095 00:47:59,720 --> 00:48:01,440 Môžete úplne otočiť. 1096 00:48:01,440 --> 00:48:02,128 Jo, presne tak. 1097 00:48:02,128 --> 00:48:02,627 Otoč sa. 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> Tak sa pozrite na ľavej strane. 1100 00:48:07,125 --> 00:48:09,875 Myslím, že je to niečo, čo môžete vyzdvihnúť na sude v miestnosti. 1101 00:48:09,875 --> 00:48:11,709 >> EFA: Ako môžem získať máp z cesty? 1102 00:48:11,709 --> 00:48:12,375 COLTON: Nájdite. 1103 00:48:12,375 --> 00:48:12,980 Stačí sa pozrieť hore. 1104 00:48:12,980 --> 00:48:13,480 Dobre. 1105 00:48:13,480 --> 00:48:13,765 A je to. 1106 00:48:13,765 --> 00:48:15,181 Teraz choďte do toho a len otočiť. 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 Tak sa pozrite ďalej na ľavej strane. 1109 00:48:24,620 --> 00:48:25,530 Pohybujte sa doľava. 1110 00:48:25,530 --> 00:48:26,960 Pozeraj odišiel. 1111 00:48:26,960 --> 00:48:27,541 Pokračuj. 1112 00:48:27,541 --> 00:48:28,040 Jo. 1113 00:48:28,040 --> 00:48:28,720 >> EFA: Oh, že cesta. 1114 00:48:28,720 --> 00:48:29,261 >> COLTON: Jo. 1115 00:48:29,261 --> 00:48:30,999 Prechádzka k nej s regulátorom. 1116 00:48:30,999 --> 00:48:31,540 A je to. 1117 00:48:31,540 --> 00:48:32,790 Teraz to mal povedať si ju vyzdvihnúť. 1118 00:48:32,790 --> 00:48:33,360 A je to. 1119 00:48:33,360 --> 00:48:34,290 Zdvihni to. 1120 00:48:34,290 --> 00:48:35,550 Dobre. 1121 00:48:35,550 --> 00:48:38,286 Teraz, poďme dostať z tejto miestnosti. 1122 00:48:38,286 --> 00:48:42,209 Choďte do toho a chodiť na tie dvere. 1123 00:48:42,209 --> 00:48:45,000 Takže sa chystáte hold-- hovorí podržte tlačidlo prinútiť ju otvoriť. 1124 00:48:45,000 --> 00:48:46,333 Tak choďte do toho a podržte tlačidlo. 1125 00:48:46,333 --> 00:48:48,250 Jo, nútiť to otvoriť. 1126 00:48:48,250 --> 00:48:48,750 Dobre. 1127 00:48:48,750 --> 00:48:49,410 Dobrá práca. 1128 00:48:49,410 --> 00:48:50,826 Teraz ideme von z miestnosti. 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 Takže ja idem nechať zvyšok hore pre vás a uvidíte, čo zistíte. 1131 00:49:01,366 --> 00:49:02,865 EFA: Ja nejdem v temnej miestnosti. 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 OH, počkaj. 1134 00:49:07,815 --> 00:49:09,314 Teraz musím ísť dole temnú chodbu? 1135 00:49:09,314 --> 00:49:10,785 OK, ja vraciam [nepočuteľných]. 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON: Dobre. 1138 00:49:16,270 --> 00:49:17,560 Niektoré ďalšie položky na vyzdvihnutie. 1139 00:49:17,560 --> 00:49:19,370 Vyzerá to, že niektoré mince. 1140 00:49:19,370 --> 00:49:22,242 To je zámok pick. 1141 00:49:22,242 --> 00:49:24,200 Takže ak zistíte, zamknuté dvere, môžete ho použiť. 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 Bojíš sa? 1144 00:49:28,380 --> 00:49:29,371 >> EFA: Ešte nie. 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-- jo. 1148 00:49:35,497 --> 00:49:37,330 Len predstierať, že ste v skutočnosti tam stál. 1149 00:49:37,330 --> 00:49:39,580 A ak sa dáte around-- musíš sa na to zvyknúť. 1150 00:49:39,580 --> 00:49:40,752 Ale to má zmysel. 1151 00:49:40,752 --> 00:49:43,960 DAVID Malan: A keď Efa pokračuje hrať, pretože sme mohli urobiť to celý deň, 1152 00:49:43,960 --> 00:49:45,381 môžeme všetci tip-toe tu. 1153 00:49:45,381 --> 00:49:48,130 Ale máme ďalšie dva páry, ak by ste chceli prísť a hrať. 1154 00:49:48,130 --> 00:49:49,980 Inak budeme vidieť budúcom stredu. 1155 00:49:49,980 --> 00:49:51,354 Ďakujem nášmu dobrovoľníkovi dnes. 1156 00:49:51,354 --> 00:49:52,101 [APPLAUSE] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [MUSIC - "Seinfeld THEME"] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 Reproduktor 1: No, ja som uvedenie novej PL namontovať. 1161 00:50:00,180 --> 00:50:01,800 Práve som zmenil OLPF-- 1162 00:50:01,800 --> 00:50:03,980 >> SPEAKER 2: Takže to, čo presne robíte? 1163 00:50:03,980 --> 00:50:07,063 >> Reproduktor 1: No, každý z these-- tu, ukážem vám to jeden v sem. 1164 00:50:07,063 --> 00:50:08,690 Môžete to vidieť práve tu. 1165 00:50:08,690 --> 00:50:09,510 >> SPEAKER 3: Myslím, že som dobre s nimi. 1166 00:50:09,510 --> 00:50:09,933 Chcete viac? 1167 00:50:09,933 --> 00:50:11,325 >> SPEAKER 4: Nie, ja som dobrý. [Nepočuteľný]. 1168 00:50:11,325 --> 00:50:12,200 >> SPEAKER 3: No, [nepočuteľný]. 1169 00:50:12,200 --> 00:50:12,700 Majú niektoré z nich. 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 Reproduktor 1: Rôzne farby. 1172 00:50:22,290 --> 00:50:22,890 SPEAKER 2: OK. 1173 00:50:22,890 --> 00:50:26,690 Reproduktor 1: Takže nakoniec to, čo to robí, je to upraví farbu of--