1 00:00:00,000 --> 00:00:02,862 >> [Muzika] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVID Malan: Kjo është CS50. 4 00:00:11,580 --> 00:00:12,880 Ky është fillimi i javës së nëntë. 5 00:00:12,880 --> 00:00:15,797 Dhe kjo është ajo që do të ketë ishte ditëlindja e 200 Z. Boole. 6 00:00:15,797 --> 00:00:17,630 Pra, kjo është miqtë për të cilin ne kemi aludoi 7 00:00:17,630 --> 00:00:21,800 mjaft disa herë në lidhje me përdorimin Variablat Boolean vërtetë dhe të rremë, 8 00:00:21,800 --> 00:00:22,910 1 dhe 0 dhe të tilla. 9 00:00:22,910 --> 00:00:25,270 Dhe kjo ishte Google haraç të tij sot. 10 00:00:25,270 --> 00:00:26,489 Ai do të kishte kthyer 200. 11 00:00:26,489 --> 00:00:28,280 Pra, nëse ju dëshironi të bashkohen me ne për drekë CS50, 12 00:00:28,280 --> 00:00:30,279 hidhini një sy në linkun në faqen e internetit të kursit. 13 00:00:30,279 --> 00:00:33,580 Dhe fytyra të tilla dhe miqtë, si këto ju presin këtu në Kembrixh. 14 00:00:33,580 --> 00:00:35,360 Fytyrat si këto që ju presin në New Haven. 15 00:00:35,360 --> 00:00:37,800 Dhe, në fakt, Ken në New Haven bërë mirësi 16 00:00:37,800 --> 00:00:41,594 atë që quhet një GIF animuar i Elit këtu në një të kohëve të fundit lunch-- një GIF është ende 17 00:00:41,594 --> 00:00:44,260 tjetër file format grafik, me të cilën ju jeni familiar-- se 18 00:00:44,260 --> 00:00:46,300 duket një diçka të vogël si kjo. 19 00:00:46,300 --> 00:00:48,179 Pra, vetëm një sekuencë of-- OK. 20 00:00:48,179 --> 00:00:49,720 Askush këtu në Kembrixh është qeshur. 21 00:00:49,720 --> 00:00:51,720 Por në New Haven, kjo është me të vërtetë qesharake, apo jo? 22 00:00:51,720 --> 00:00:52,350 Në rregull. 23 00:00:52,350 --> 00:00:53,940 >> Pra, do të bashkohen me ne atje. 24 00:00:53,940 --> 00:00:55,900 Këtu në Harvard, në mënyrë specifike, këtë të mërkurë, 25 00:00:55,900 --> 00:00:59,480 në qoftë se ju jeni një i paedukuar mjaft apo fillestar even-- apo edhe të menduarit junior-- e marrjes 26 00:00:59,480 --> 00:01:01,563 një kaloni në kompjuterin shkencë, e di se nuk do të 27 00:01:01,563 --> 00:01:04,440 të një CS këshilluar drejtë kjo E mërkurë, menjëherë pas klasës 28 00:01:04,440 --> 00:01:08,040 në 4:00 pm në kompjuter Ndërtesa shkencë Maxwell Dworkin. 29 00:01:08,040 --> 00:01:11,890 Ne do të vënë këtë në Sigurisht e website nga nesër, po ashtu. 30 00:01:11,890 --> 00:01:14,430 Donuts, unë jam i tha, do të shërbehet. 31 00:01:14,430 --> 00:01:15,180 >> Në rregull. 32 00:01:15,180 --> 00:01:18,790 Story-- so funny unë u poking rreth në internet, 33 00:01:18,790 --> 00:01:23,575 dhe kam gjetur disa arkivat vjetra i ish web faqen time. 34 00:01:23,575 --> 00:01:25,950 Dhe kjo rezulton out-- rreth kësaj kohë, ajo duket shumë kohë 35 00:01:25,950 --> 00:01:28,910 pasi që unë mbledh se zgjedhjet UC jeni gati veshje deri përsëri. 36 00:01:28,910 --> 00:01:32,230 Kështu që unë u zhvillua për UC, të humbur pa fat. 37 00:01:32,230 --> 00:01:34,770 Dhe ndoshta kjo ishte pjesërisht pse. 38 00:01:34,770 --> 00:01:37,600 Pra, kjo ishte faqen time në atë kohë. 39 00:01:37,600 --> 00:01:40,477 Për disa arsye, mendoj se ishte një ide e mirë, para se të thënë njerëzve 40 00:01:40,477 --> 00:01:43,310 çfarë platformë ime ishte dhe pse ata duhet të votojnë për mua, se ata kanë 41 00:01:43,310 --> 00:01:47,770 të klikoni për të hyrë për të gjetur se informacion, i cili në retrospektivë është 42 00:01:47,770 --> 00:01:48,660 lloj i mërzitur. 43 00:01:48,660 --> 00:01:50,910 Unë vërtetë nuk e di se çka ishte. 44 00:01:50,910 --> 00:01:53,140 >> Por kjo sigurisht nuk e bëri ndihmojnë fushatën time. 45 00:01:53,140 --> 00:01:56,874 Unë gjithashtu gjeti se nga lartë year-- Unë kisha këtë kalendar Muppet. 46 00:01:56,874 --> 00:01:58,540 Muppets ishin lloj i në modë atëherë. 47 00:01:58,540 --> 00:01:59,456 Apo ndoshta ata nuk ishin. 48 00:01:59,456 --> 00:02:01,790 Unë kisha një kalendar Muppet prapa pastaj. 49 00:02:01,790 --> 00:02:04,860 Dhe unë mendova se do të jetë e ftohtë për emrin kompjuteri im në rrjetin e Harvardit 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu. 51 00:02:07,460 --> 00:02:10,370 Në atë kohë, ne të gjithë e kishin unike Emrat e identifikueshme host. 52 00:02:10,370 --> 00:02:13,150 Dhe ju mund të zgjidhni disa kotësi emrin në vend të emrit tuaj. 53 00:02:13,150 --> 00:02:15,580 Dhe unë shkova me zhytës për disa arsye. 54 00:02:15,580 --> 00:02:19,040 >> Dhe atëherë unë started-- kam kaluar shumë e kohës klikuar përmes këtyre lidhjeve 55 00:02:19,040 --> 00:02:20,280 kete mengjes. 56 00:02:20,280 --> 00:02:24,690 Dhe kjo ishte faqja ime në lidhje me, e cila tani lloj i duket adorable. 57 00:02:24,690 --> 00:02:28,210 Por ajo gjithashtu dëshmon për vetëm sa larg teknologjisë ka ardhur. 58 00:02:28,210 --> 00:02:30,310 Unë do të thotë, mbrapa në ditë, një 486 ishte diçka. 59 00:02:30,310 --> 00:02:34,090 Këto ditë, është super, super, super i ngadalshëm dhe më pak të mirë 60 00:02:34,090 --> 00:02:36,216 se ju mund të keni në tuaj Xhepat e vet këto ditë. 61 00:02:36,216 --> 00:02:38,465 Ka më shumë atje se ishte edhe më e turpshme. 62 00:02:38,465 --> 00:02:39,770 Kështu që unë do të lënë atë në se. 63 00:02:39,770 --> 00:02:42,640 Por kjo ishte ime e parë bastisje në web-- oh, jo. 64 00:02:42,640 --> 00:02:43,180 Kjo nuk ishte. 65 00:02:43,180 --> 00:02:47,000 Përpjekjet e ime e parë e vërtetë në programimin e web ishte kjo faqe, që unë sapo harruar. 66 00:02:47,000 --> 00:02:50,620 Në një moment, kam mësuar se si të të bëjë imazhe të përsëritura sfond. 67 00:02:50,620 --> 00:02:55,260 Dhe kështu që kam gjetur këtë tjegulla në fuqi, si lojtar hokej, futboll, dhe e golfit 68 00:02:55,260 --> 00:02:58,040 top, ose çfarëdo që është për faqen e internetit Frosh IMS. 69 00:02:58,040 --> 00:03:01,390 Dhe kjo ishte në të vërtetë, të vërtetë Projekti i parë web-based mora on-- 70 00:03:01,390 --> 00:03:03,880 Unë mendoj se ndoshta i paedukuar mjaft vit, year-- vogël 71 00:03:03,880 --> 00:03:07,622 pas marrjes CS50 dhe CS51, një e zakonshme klasat vijuese në. 72 00:03:07,622 --> 00:03:09,330 Kam vënë re në kërkim nëpër arkivat 73 00:03:09,330 --> 00:03:12,150 se një nga pasardhësit e mi dhe miq, Lee, lloj i ndryshuar 74 00:03:12,150 --> 00:03:13,480 të drejtën e autorit për veten e tij. 75 00:03:13,480 --> 00:03:17,520 Por kjo ishte me të vërtetë diçka që Unë duhet të zotërojnë ndrojtjen për të. 76 00:03:17,520 --> 00:03:19,370 Por në atë kohë, kjo ishte në faqen e internetit e parë, 77 00:03:19,370 --> 00:03:22,220 siç kam thënë disa javë më parë, me të cilën mund fillestar 78 00:03:22,220 --> 00:03:24,350 regjistrohen për sportet i brendshëm këtu. 79 00:03:24,350 --> 00:03:27,950 Dhe kështu kjo rezulton që imazhe sfond 80 00:03:27,950 --> 00:03:29,530 sikur që nuk janë të tilla një ide e mirë. 81 00:03:29,530 --> 00:03:31,840 Por web ishte e re, dhe ne ishim të gjithë eksperimente. 82 00:03:31,840 --> 00:03:34,310 Dhe kjo është ajo që unë me sa duket e bëri në atë kohë. 83 00:03:34,310 --> 00:03:34,810 Në rregull. 84 00:03:34,810 --> 00:03:38,020 Pra, pa zhurmë më tej, ne të kaloni ingranazhet sot për t'ju dhënë, me të vërtetë, 85 00:03:38,020 --> 00:03:42,250 pjesa e fundit që ju mund të gjeni veçanërisht e dobishme për projekte finale 86 00:03:42,250 --> 00:03:44,780 por edhe që do të fillojë të bërë gjithë botën e gjerë web 87 00:03:44,780 --> 00:03:46,680 të ndjehen pak më të kuptueshme. 88 00:03:46,680 --> 00:03:49,460 Në të vërtetë, ne jemi duke shkuar për të futur një më shumë gjuhë programimi 89 00:03:49,460 --> 00:03:52,474 quajtur JavaScript që është i ngjashëm dhe të ndryshme në mënyra të ndryshme 90 00:03:52,474 --> 00:03:54,140 nga gjuhët e kemi shikuar deri tani. 91 00:03:54,140 --> 00:03:55,807 >> Pra C, kujtojnë, është kjo gjuhë hartuar. 92 00:03:55,807 --> 00:03:57,473 Ju keni marrë për të drejtuar atë nëpërmjet një përpilues. 93 00:03:57,473 --> 00:03:59,810 Ju merrni kodin burimor të kundërshtojë Kodi, ose zero dhe ato. 94 00:03:59,810 --> 00:04:03,000 Dhe ata janë zero dhe ato që CPU juaj, Central Processing Unit, 95 00:04:03,000 --> 00:04:04,360 në fakt e kuptojnë. 96 00:04:04,360 --> 00:04:06,610 PHP, nga ana tjetër, nuk është e një gjuhë hartuar. 97 00:04:06,610 --> 00:04:08,772 Kjo është një çfarë? 98 00:04:08,772 --> 00:04:09,980 Është një gjuhë interpretuar. 99 00:04:09,980 --> 00:04:11,750 Pra, ka disa program quajtur një përkthyes që 100 00:04:11,750 --> 00:04:13,708 ka për të lexuar lartë it-- të poshtë, majtas në right-- 101 00:04:13,708 --> 00:04:16,519 dhe të kuptoj se çfarë të gjithë Sintaksa juaj ka dhe do të thotë, 102 00:04:16,519 --> 00:04:20,200 nëse kjo është një lak ose një kusht ose ndonjë numër tjetër i programimit 103 00:04:20,200 --> 00:04:20,740 ndërton. 104 00:04:20,740 --> 00:04:22,210 Pra, kjo është një gjuhë interpretuar. 105 00:04:22,210 --> 00:04:23,910 >> Atëherë ne kemi prezantuar HTML. 106 00:04:23,910 --> 00:04:26,440 Dhe HTML nuk është edhe një gjuhë programimi. 107 00:04:26,440 --> 00:04:28,110 Ne do të thërrasë atë çfarë? 108 00:04:28,110 --> 00:04:31,650 Një gjuhë markup, e cila është vetëm një lloj i mënyrës së sofistikuar për të thënë atë 109 00:04:31,650 --> 00:04:35,820 nuk ka konstruktet programimi si ne pamë edhe mbrapa në ditën e Scratch. 110 00:04:35,820 --> 00:04:36,720 Nuk ka sythe. 111 00:04:36,720 --> 00:04:37,920 Nuk ka kushte. 112 00:04:37,920 --> 00:04:40,820 Me të vërtetë është një gjuhë rreth shënuar deri të dhënat tuaja 113 00:04:40,820 --> 00:04:43,620 dhe formatimin atë ose strukturimin atë në një farë mënyre. 114 00:04:43,620 --> 00:04:46,147 >> CSS, ndërkohë, në mënyrë të ngjashme jo një gjuhë programimi. 115 00:04:46,147 --> 00:04:47,730 Është edhe më e orientuar më aesthetically. 116 00:04:47,730 --> 00:04:50,470 Dhe kjo ju lejon të lloj nga gjobë-mendje gjëra të tilla si madhësi font dhe ngjyra 117 00:04:50,470 --> 00:04:51,850 dhe vendosja dhe të gjithë se. 118 00:04:51,850 --> 00:04:52,370 Atëherë kemi pasur 119 00:04:52,370 --> 00:04:53,160 >> SQL. 120 00:04:53,160 --> 00:04:56,010 Pra SQL është me të vërtetë një programimi gjuha në një kuptim, 121 00:04:56,010 --> 00:04:59,330 megjithëse përshtatura në mënyrë specifike për të bazave të të dhënave. 122 00:04:59,330 --> 00:05:03,347 Por edhe pse ne vetëm ju prezantoj me zgjidhni dhe të futur dhe fshini dhe përditësimin 123 00:05:03,347 --> 00:05:05,430 dhe disa të tjerë, rezulton nga ju mund të vërtetë 124 00:05:05,430 --> 00:05:07,380 shkruaj funksione ose procedurat, pasi ata janë 125 00:05:07,380 --> 00:05:11,270 quajtur, në SQL që duken dhe të veprojë mjaft si PHP dhe C funksione. 126 00:05:11,270 --> 00:05:12,390 Pra, e di se ata ekzistojnë. 127 00:05:12,390 --> 00:05:15,348 Por ne nuk do të shqetësojë edhe me ta ndërsa ne vetëm zeroja sipërfaqe këtu. 128 00:05:15,348 --> 00:05:18,600 Dhe pastaj JavaScript, e fundit e Gjuhët tona prezantuar zyrtarisht. 129 00:05:18,600 --> 00:05:21,029 Pra JavaScript, gjithashtu, është një gjuhë interpretuar. 130 00:05:21,029 --> 00:05:23,070 Dhe ata të njohur, të bëjë ju doni për të dalluar atë 131 00:05:23,070 --> 00:05:26,960 me disa karakteristike nga të dy C dhe PHP? 132 00:05:26,960 --> 00:05:28,300 Çfarë e bën atë të ndryshme? 133 00:05:28,300 --> 00:05:29,650 >> Audienca: Kjo nuk është hartuar. 134 00:05:29,650 --> 00:05:29,930 >> DAVID Malan: Thuaj përsëri? 135 00:05:29,930 --> 00:05:31,200 >> Audienca: Kjo nuk është hartuar. 136 00:05:31,200 --> 00:05:31,930 >> DAVID Malan: Kjo nuk është hartuar. 137 00:05:31,930 --> 00:05:33,450 Kështu që, gjithashtu, është interpretuar. 138 00:05:33,450 --> 00:05:34,760 Pra, kjo nuk është hartuar. 139 00:05:34,760 --> 00:05:37,210 Por që e bën atë një pak si PHP. 140 00:05:37,210 --> 00:05:39,545 Por është ende e ndryshme nga PHP në një farë mënyre të mrekullueshëm, 141 00:05:39,545 --> 00:05:40,920 të paktën në mënyrën se si ne do të përdorin atë. 142 00:05:40,920 --> 00:05:41,205 Po? 143 00:05:41,205 --> 00:05:41,940 >> Audienca: Ajo shkon klient-side. 144 00:05:41,940 --> 00:05:44,000 >> DAVID Malan: Ajo shkon klient-side, zakonisht. 145 00:05:44,000 --> 00:05:47,190 Kjo është me të vërtetë dalluese karakteristike për ne tani. 146 00:05:47,190 --> 00:05:51,170 C ishte server-side në kuptimin që ne e bëmë çdo gjë në CS50 IDE. 147 00:05:51,170 --> 00:05:53,630 PHP deri më tani ka qenë e server-side përderisa 148 00:05:53,630 --> 00:05:56,550 si ajo, gjithashtu, merr interpreted-- jo hartuar, por interpreted-- 149 00:05:56,550 --> 00:06:00,690 brenda CS50 IDE, e cila natyrisht është vetëm një server apo servers në re. 150 00:06:00,690 --> 00:06:03,070 >> Por JavaScript, edhe pse ju jeni duke shkuar 151 00:06:03,070 --> 00:06:07,000 për të filloni të shkruani atë për, të themi, pset tetë dhe ndoshta i fundit projects-- ju jeni 152 00:06:07,000 --> 00:06:09,620 do ta djathtë atë në CS50 IDE dhe për të shpëtuar atë 153 00:06:09,620 --> 00:06:14,760 në fotografi brenda IDE CS50, CS50 IDE dhe, nga ana tjetër, serverat cloud 154 00:06:14,760 --> 00:06:19,160 në të cilën është e priti, nuk janë duke shkuar për të interpretuar apo të ekzekutuar kodin tuaj. 155 00:06:19,160 --> 00:06:23,880 Përkundrazi, ajo do të dërgohet në Formulari i pandryshuar deri në shfletuesin. 156 00:06:23,880 --> 00:06:26,990 Dhe ajo pastaj do të jetë i IE ose Chrome ose Firefox ose Safari 157 00:06:26,990 --> 00:06:30,697 apo çfarëdo që në fakt e interpreton ajo, të lartë e deri në fund, majta në të djathtë. 158 00:06:30,697 --> 00:06:32,780 Pra dalluese kyçe karakteristike për sot 159 00:06:32,780 --> 00:06:36,110 është se JavaScript është klient-side dhe PHP, për shembull, 160 00:06:36,110 --> 00:06:37,690 ka qenë server-side. 161 00:06:37,690 --> 00:06:40,920 Tani, kjo ka implikime interesante për, si, pronën intelektuale 162 00:06:40,920 --> 00:06:42,660 dhe që në fakt mund të shihni kodin tuaj. 163 00:06:42,660 --> 00:06:44,860 Dhe me të vërtetë, ju mund të shkoni në internet dhe të shohim më 164 00:06:44,860 --> 00:06:47,530 çdo kodin që dikush ka shkruar në JavaScript. 165 00:06:47,530 --> 00:06:50,230 Ndonjëherë është i lexueshëm, nganjëherë është e turbullohet. 166 00:06:50,230 --> 00:06:52,550 Por më shumë se në kohën e duhur. 167 00:06:52,550 --> 00:06:57,530 >> Pra JavaScript, bukur të mjaftueshme, është super ngjashme, sintaksore, në C. 168 00:06:57,530 --> 00:06:59,364 Dhe ashtu si PHP, nuk ka asnjë funksion kryesor. 169 00:06:59,364 --> 00:07:02,113 Nëse ju doni të filloni të shkruani Kodi JavaScript, si ju do të shihni sot, 170 00:07:02,113 --> 00:07:03,270 ju vetëm të filloni të shkruani atë. 171 00:07:03,270 --> 00:07:06,910 Por ajo është, ju do të shihni, veçanërisht dobishëm në kontekstin e shfletuesit web. 172 00:07:06,910 --> 00:07:09,820 Megjithatë, pak e mia disclaimer-- zakonisht earlier-- 173 00:07:09,820 --> 00:07:13,790 ishte për të thënë se ju mund të gjithnjë Përdorimi sot JavaScript server-side 174 00:07:13,790 --> 00:07:17,655 duke përdorur një kornizë dashuroj quajtur Node.js se disa nga aplikacionet e CS50-së 175 00:07:17,655 --> 00:07:18,280 janë të shkruara në. 176 00:07:18,280 --> 00:07:20,640 Kontrolloni 50 në fakt përdor Node.js. 177 00:07:20,640 --> 00:07:24,140 Por ne do të përqëndrohet në JavaScript klient-side këtu në jashtë. 178 00:07:24,140 --> 00:07:26,750 >> Kështu që këtu është një grup i kushteve në PHP. 179 00:07:26,750 --> 00:07:29,350 Na vjen keq, in-- fakt, që Deklarata, gjithashtu është e saktë. 180 00:07:29,350 --> 00:07:32,200 Këtu është edhe një grup i kushtet në JavaScript. 181 00:07:32,200 --> 00:07:35,560 Sintaksore, ajo është identike me C dhe PHP. 182 00:07:35,560 --> 00:07:39,040 Shprehjet zotit Boole janë, në mënyrë të ngjashme, sintaksore 183 00:07:39,040 --> 00:07:41,190 identike me dy C dhe PHP. 184 00:07:41,190 --> 00:07:44,100 Ne gjithashtu kemi çelsin në JavaScript që duken identike. 185 00:07:44,100 --> 00:07:46,350 Ne kemi për sythe që janë strukturuar njëlloj, 186 00:07:46,350 --> 00:07:48,140 ndërsa unazore, të bëni ndërsa sythe. 187 00:07:48,140 --> 00:07:49,980 >> Kjo është pak më ndryshe. 188 00:07:49,980 --> 00:07:53,120 PHP kishte për çdo konstrukt që ju mund të jetë duke përdorur 189 00:07:53,120 --> 00:07:55,320 ose do të përdorë në pset shtatë, ndoshta. 190 00:07:55,320 --> 00:07:59,460 Java e ka këtë version të veçantë të për ku ju fjalë për fjalë thoni diçka 191 00:07:59,460 --> 00:08:03,864 si për çelës ndryshueshme në objekt, i cili është një mënyrë shumë e ngjeshur e duke thënë: 192 00:08:03,864 --> 00:08:06,780 në qoftë se unë kam marrë një object-- dhe ne do flasim për këto përsëri në një moment-- 193 00:08:06,780 --> 00:08:10,370 dhe unë dua të iterate mbi të gjitha nga çifte të vlerave kyçe brenda, 194 00:08:10,370 --> 00:08:13,620 Unë nuk duhet të kuptoj se si për të Indeksi i numerikisht ato me zero, një, 195 00:08:13,620 --> 00:08:14,580 dy, tre. 196 00:08:14,580 --> 00:08:15,900 >> Unë mund të them fjalë për fjalë këtë. 197 00:08:15,900 --> 00:08:20,740 Dhe në çdo përsëritje, JavaScript për mua do update çelësin ndryshueshme 198 00:08:20,740 --> 00:08:24,810 të jetë çelësi i parë, atëherë çelësi tjetër, atëherë çelësi tjetër, atëherë çelësi tjetër, 199 00:08:24,810 --> 00:08:25,510 dhe kështu me radhë. 200 00:08:25,510 --> 00:08:30,000 Dhe unë mund të merrni me vlerën e tij duke e trajtuar një objekt në JavaScript, si ne do të shohim, 201 00:08:30,000 --> 00:08:32,584 sikur kjo është një array associative në PHP. 202 00:08:32,584 --> 00:08:35,750 Në të vërtetë, në qoftë se ju më në fund përfundoi tuaj mendjen rreth asaj që një grup asociativ është 203 00:08:35,750 --> 00:08:40,140 në PHP, ju mund të mendoni për atë tani për tani si identike me një objekt në JavaScript. 204 00:08:40,140 --> 00:08:42,030 Por kjo është pak e një oversimplification. 205 00:08:42,030 --> 00:08:47,230 >> Vargjeve duken, bukur të mjaftueshme, identik për të PHP me përjashtim të një karakter. 206 00:08:47,230 --> 00:08:51,425 Ka një gjë që mungon këtu që ne e bëmë të shohim javën e kaluar me PHP. 207 00:08:51,425 --> 00:08:52,050 Çfarë është lënë jashtë? 208 00:08:52,050 --> 00:08:53,310 Po? 209 00:08:53,310 --> 00:08:54,090 Asnjë dollar shenjë. 210 00:08:54,090 --> 00:08:56,240 Pra, ne jemi kthyer në një më shumë botë normale ku 211 00:08:56,240 --> 00:08:58,050 Variablat nuk kanë shenja të dollarit. 212 00:08:58,050 --> 00:09:00,810 Por ju bëni prefiksit ato me var, në mënyrë tipike. 213 00:09:00,810 --> 00:09:02,230 Dhe var do të thotë ndryshore. 214 00:09:02,230 --> 00:09:06,440 Dhe shumë si PHP është lirshëm typed-- ku ka lloje, 215 00:09:06,440 --> 00:09:10,120 ka numra dhe vargjet dhe gjithandej dhe kështu forth-- 216 00:09:10,120 --> 00:09:11,570 JavaScript në mënyrë të ngjashme ka lloje. 217 00:09:11,570 --> 00:09:15,470 Por është e shtypur lirshëm në se NE programuesit nuk duhet të specifikojë ato. 218 00:09:15,470 --> 00:09:18,980 Ne vetëm duhet të jenë të vetëdijshëm se llojet e ndryshme ekzistojnë. 219 00:09:18,980 --> 00:09:21,690 >> Variablat, meanwhile-- këtu është se si ne mund të deklarojë "hello, bota" 220 00:09:21,690 --> 00:09:22,230 si një varg. 221 00:09:22,230 --> 00:09:24,890 Vini re se është identike me PHP por asnjë shenjë dollar. 222 00:09:24,890 --> 00:09:27,120 Dhe kjo është diçka që ne do të filloni duke parë më sot, 223 00:09:27,120 --> 00:09:30,990 ku ju keni një objekt me çelësat dhe vlerat. 224 00:09:30,990 --> 00:09:32,990 Dhe në qoftë se ju doni të provoni të konkludoj nga week-- fundit 225 00:09:32,990 --> 00:09:34,730 sintaksa është pak më ndryshe. 226 00:09:34,730 --> 00:09:39,740 Por një mendje e shëndoshë pak check-- sa Çelësat e bën këtë objekt duket të ketë? 227 00:09:39,740 --> 00:09:40,850 Kështu që unë shoh katër. 228 00:09:40,850 --> 00:09:43,560 Unë shoh dy. 229 00:09:43,560 --> 00:09:44,680 >> Pra, është e vërtetë dy. 230 00:09:44,680 --> 00:09:47,260 Pra, kjo është një koleksion e dy palë kyç vlerë. 231 00:09:47,260 --> 00:09:49,820 Çelësi është simbol vlera e të cilit është e FB. 232 00:09:49,820 --> 00:09:52,620 Çështja kryesore është çmimi vlera e të cilit është 101.53. 233 00:09:52,620 --> 00:09:54,230 Pra, këto janë dy palë të rëndësishme të vlerës së. 234 00:09:54,230 --> 00:09:58,120 Dhe mbani mend, PHP-- dhe kjo është përsëri vetëm lloj i dallimit sintaksore. 235 00:09:58,120 --> 00:10:00,170 Kjo nuk është e gjitha që intelektualisht interesant. 236 00:10:00,170 --> 00:10:04,610 PHP mund të ketë shkruar këtë njëjtë gjë si kuotë follows--, është e barabartë. 237 00:10:04,610 --> 00:10:06,730 Dhe unë të ndryshojë këto për kllapa katrore. 238 00:10:06,730 --> 00:10:11,240 Dhe atëherë unë të ndryshojë kjo në një fjalë cituar, "çmim". 239 00:10:11,240 --> 00:10:12,500 Dhe atëherë unë nuk e përdorin një zorrë e trashë. 240 00:10:12,500 --> 00:10:15,060 Çfarë kam përdorur javën e kaluar? 241 00:10:15,060 --> 00:10:18,290 Po, shenja të barabartë shigjetë simbol i shokuar. 242 00:10:18,290 --> 00:10:21,470 >> Dhe pastaj kam bërë të njëjtën gjë këtu. 243 00:10:21,470 --> 00:10:23,580 E njëjta gjë këtu. 244 00:10:23,580 --> 00:10:24,240 Dhe kjo është e gjitha. 245 00:10:24,240 --> 00:10:27,752 Pra, kjo është në rregull në qoftë se kjo nuk ka zhytur me të vërtetë në në kujtesën e vetëm 246 00:10:27,752 --> 00:10:29,960 por për shkak se është e vërtetë intelektualisht jointeresant. 247 00:10:29,960 --> 00:10:31,660 Është dallimet vetëm sintaktik. 248 00:10:31,660 --> 00:10:33,230 Por idetë janë të njëjtë. 249 00:10:33,230 --> 00:10:35,910 Brenda kësaj variable të japin kuotën e në JavaScript 250 00:10:35,910 --> 00:10:39,020 është një koleksion i çifte kyç vlerë, një nga të cilat është simbol, njëri prej të cilëve 251 00:10:39,020 --> 00:10:39,690 është çmimi. 252 00:10:39,690 --> 00:10:42,340 Dhe unë mund të merrni në ato vlera me sintaksë e mëposhtme. 253 00:10:42,340 --> 00:10:46,280 Ashtu si në PHP, unë mund të bëni diçka like-- le 254 00:10:46,280 --> 00:10:48,590 më bëj kjo kuti e madhe pak. 255 00:10:48,590 --> 00:10:52,750 Ashtu si në PHP, unë mund të bëjnë this-- oh, dammit. 256 00:10:52,750 --> 00:10:53,250 Eja. 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> Ashtu si në PHP-- OK, ne do të vetëm përdorni shënimet prezantues. 259 00:11:00,800 --> 00:11:06,010 Ashtu si në PHP, unë mund të të bëjë $ $ quote quote ["simbol"], 260 00:11:06,010 --> 00:11:08,860 dhe kjo do të merrni mua vlera e "simbol". 261 00:11:08,860 --> 00:11:12,800 Në JavaScript, ajo do të jetë identike, ku unë mund ta bëjë këtë vetëm. 262 00:11:12,800 --> 00:11:14,850 E vetmja gjë që është mungon është shenja e dollarit. 263 00:11:14,850 --> 00:11:17,470 >> Pra bukur të mjaftueshme, atëherë, nuk ka jo të gjithë se shumë sintaksë e re. 264 00:11:17,470 --> 00:11:21,025 Pra, ajo që sot ne të përqëndrohet në, me të vërtetë, është disa nga idetë dhe aplikimet. 265 00:11:21,025 --> 00:11:22,900 Dhe i pari i tillë kërkesë që ju mund të 266 00:11:22,900 --> 00:11:26,090 kanë parë nëse ju fetar në pset shtatë tashmë është kjo sintaksë. 267 00:11:26,090 --> 00:11:28,980 Pra, në pset shtatë, në qoftë se ju keni shihet apo nuk shihet atë ende, 268 00:11:28,980 --> 00:11:33,570 e di se ka një skedë që ne japim ju quajti config.json-- JavaScript 269 00:11:33,570 --> 00:11:34,661 Object simbol. 270 00:11:34,661 --> 00:11:35,160 Përse? 271 00:11:35,160 --> 00:11:39,540 Ne kemi kërkuar që të jetë në gjendje për të siguruar me një template me disa çifte kyç vlerë. 272 00:11:39,540 --> 00:11:44,290 Ne kemi kërkuar që të jetë në gjendje të ju japin një listë e ushtrisë, emri i serverit. 273 00:11:44,290 --> 00:11:46,710 Ne kemi kërkuar për të ju jap një placeholder për emrin tuaj të përdoruesit 274 00:11:46,710 --> 00:11:48,210 dhe një placeholder për fjalëkalimin tuaj. 275 00:11:48,210 --> 00:11:49,410 Nëse ju nuk jeni duke parë kjo ende, jo për t'u shqetësuar. 276 00:11:49,410 --> 00:11:51,340 Më shumë për këtë në pset shtatë [? spekulim. ?] Dhe pastaj, 277 00:11:51,340 --> 00:11:53,173 Natyrisht, ne duam t'ju për të mbushur në për-dos 278 00:11:53,173 --> 00:11:55,310 sepse kur ju hyni në CS50 IDE, secili prej jush 279 00:11:55,310 --> 00:11:57,630 kanë emrin tuaj dhe fjalëkalimin. 280 00:11:57,630 --> 00:12:00,910 >> Pra, ne mund të kemi përdorur një gjysmë duzinë ose më shumë formate të ndryshme. 281 00:12:00,910 --> 00:12:02,940 Ne mund të ketë përdorur një file .txt. 282 00:12:02,940 --> 00:12:04,570 Ne mund të përdorur një skedar CSV. 283 00:12:04,570 --> 00:12:06,745 Ne mund të kemi përdorur një INI file, një file XML, 284 00:12:06,745 --> 00:12:09,370 një bandë e tërë më akronimet që ju nuk mund të keni dëgjuar ndonjëherë. 285 00:12:09,370 --> 00:12:11,244 Kjo është lloj i arbitrar në fund të ditë. 286 00:12:11,244 --> 00:12:16,030 Por super popullor këto ditë është një tekst format i quajtur JSON-- JavaScript Object 287 00:12:16,030 --> 00:12:18,460 Notation-- që duket si kjo. 288 00:12:18,460 --> 00:12:20,890 Kjo është pak i fshehtë, por vini re modelet. 289 00:12:20,890 --> 00:12:24,180 Ju filloni me një kaçurrel të hapur Braçe, dhe ju të përfundojnë me të njëjtën. 290 00:12:24,180 --> 00:12:26,550 Brenda e kjo është diçka. 291 00:12:26,550 --> 00:12:27,920 Kjo është një palë kyç vlerë. 292 00:12:27,920 --> 00:12:30,580 Pra, kjo është një objekt që unë jam duke kërkuar në në ekran këtu 293 00:12:30,580 --> 00:12:33,690 që ka një çelës, e cila ka një vlerë. 294 00:12:33,690 --> 00:12:37,610 Dhe vetëm inferring bazuar në model i mëparshëm, çfarë është çelësi këtu? 295 00:12:37,610 --> 00:12:39,790 Baza e të dhënave, gjë që e majta e zorrës së trashë. 296 00:12:39,790 --> 00:12:43,500 >> Tani, vlera ndodh të jetë rreshta të shumta në këtë kohë. 297 00:12:43,500 --> 00:12:46,760 Por vlera e fillon me një kaçurrel shtrëngoj dhe përfundon me një mbajtëse kaçurrel. 298 00:12:46,760 --> 00:12:49,480 Pra, çfarë do të ju propozojmë është llojin e vlerës së bazën e të dhënave? 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 Një fjalor apo, thjesht më shumë shkurtimisht, një objekt. 301 00:12:54,670 --> 00:12:55,170 E drejtë? 302 00:12:55,170 --> 00:13:00,010 Kjo është lloj i një strukture të dhënave që mund të përdorin struktura të tjera brenda vetes. 303 00:13:00,010 --> 00:13:02,750 Pra, nëse kjo gjë gjithë ne jemi duke e quajtur një object-- dhe një objekt 304 00:13:02,750 --> 00:13:07,101 është vetëm një bandë e kyç vlerës pairs-- Vlera e vetë bazën e të dhënave është një objekt. 305 00:13:07,101 --> 00:13:10,350 Vlera e bazën e të dhënave ka një bandë e tërë e çifte kryesore me vlerë, e para e cila 306 00:13:10,350 --> 00:13:13,130 është mikpritës, atëherë emri, atëherë emrin, pastaj fjalëkalim, 307 00:13:13,130 --> 00:13:17,550 secili prej vlera e të cilit, ndërkohë, është vetëm një varg i mërzitshëm në thonjëza dyshe. 308 00:13:17,550 --> 00:13:19,770 >> Pra, edhe në qoftë se nuk është super qartë vetëm ende, 309 00:13:19,770 --> 00:13:22,740 e di se kjo është vetëm një standarde, mënyrë mjaft të mërzitshëm 310 00:13:22,740 --> 00:13:25,190 e magazinimin e të dhënave në një format standard. 311 00:13:25,190 --> 00:13:27,700 Por gabimet e zakonshme që ju mund të bëjë, madje edhe në pset shtatë, 312 00:13:27,700 --> 00:13:32,120 janë pak gjëra të trashë, si në qoftë se ju aksidentalisht heq presje atje. 313 00:13:32,120 --> 00:13:34,900 Kjo do të rezultojë në dosjen jo domosdoshmërisht qenë i lexueshëm. 314 00:13:34,900 --> 00:13:38,191 Nëse ju aksidentalisht heq gjëra të tilla si citate, kjo nuk do të jetë i lexueshëm. 315 00:13:38,191 --> 00:13:41,654 Pra, kjo është një format mjaft nitpicky file, por është një që është super i zakonshëm. 316 00:13:41,654 --> 00:13:44,820 Dhe ne të ndodhë të përdorin atë, edhe pse ju nuk e përdorni ndonjë javascript ndryshe, 317 00:13:44,820 --> 00:13:46,330 në pset shtatë. 318 00:13:46,330 --> 00:13:46,860 >> Në rregull. 319 00:13:46,860 --> 00:13:48,110 Pra, mbani mend këtë foto. 320 00:13:48,110 --> 00:13:51,657 Kemi biseduar rreth, në HTML, që kodi mund të duket si kjo. 321 00:13:51,657 --> 00:13:54,740 Kjo është HyperText Markup Language [Padëgjueshme] vetëm për "Hello, bota." 322 00:13:54,740 --> 00:13:57,570 Por pastaj kemi propozuar një ndërsa mbrapa se nëse ajo ndihmon, 323 00:13:57,570 --> 00:14:00,210 ju mund të dëshironi të filloni të menduarit në lidhje me këtë tashmë si një pemë. 324 00:14:00,210 --> 00:14:03,730 Në fakt, gjurmë që ne përdorni vetëm për hir të lehtësi leximi të 325 00:14:03,730 --> 00:14:05,610 ose për hir stilin e mbi e majta mund të lloj 326 00:14:05,610 --> 00:14:10,040 të jenë të përkthyera në këtë pemë, ku ju kanë disa nyje të veçantë rrënjë që ne do të 327 00:14:10,040 --> 00:14:16,860 quajtur generically dokument, nën të cilën është elementi HTML rrënjë ose tag, HTML, 328 00:14:16,860 --> 00:14:19,980 e cila më pas ka dy fëmijë, kokë dhe trup. 329 00:14:19,980 --> 00:14:21,750 >> Dhe pastaj nga ana tjetër, kreu ka një titull. 330 00:14:21,750 --> 00:14:23,440 Dhe titulli ka një vlerë tekst. 331 00:14:23,440 --> 00:14:26,130 Dhe trupi në mënyrë të ngjashme ka një vlerë tekst. 332 00:14:26,130 --> 00:14:29,220 Pra, nëse ju jeni të kënaqur duke thënë se po, ju mund të marrë këtë HTML 333 00:14:29,220 --> 00:14:32,080 dhe të nxjerrë një foto si kjo, në anën e djathtë 334 00:14:32,080 --> 00:14:35,910 është një model i mirë mendor, sepse tani se ne kemi JavaScript, një programimi 335 00:14:35,910 --> 00:14:39,960 gjuhë që shfletues mund të ekzekutuar dhe interpretuar për ju, 336 00:14:39,960 --> 00:14:42,690 rezulton se çfarë ne jemi gati për të bërë në kodin 337 00:14:42,690 --> 00:14:45,320 është të fillojë për të manipuluar këtë Struktura pemë në kujtim. 338 00:14:45,320 --> 00:14:47,070 Ne nuk kemi për të ndërtuar pema në kujtesë. 339 00:14:47,070 --> 00:14:49,880 Ne nuk kemi të bëjmë lloj Struktura e të dhënave pset-pesë-style 340 00:14:49,880 --> 00:14:50,650 kompleksiteti. 341 00:14:50,650 --> 00:14:54,610 Shfletuesi, bukur të mjaftueshme, mbi interpretimit HTML lartë deri në fund, 342 00:14:54,610 --> 00:14:58,600 majtas ose djathtas, është fjalë për fjalë do të ne dorë ekuivalentin e një akrep 343 00:14:58,600 --> 00:15:00,840 për këtë të gjithë pemë për të lira. 344 00:15:00,840 --> 00:15:02,150 Ai e bën të gjithë punën e vështirë. 345 00:15:02,150 --> 00:15:05,520 Kjo është ajo që Mozilla dhe Apple dhe të tjerët kanë bërë për ne. 346 00:15:05,520 --> 00:15:09,400 >> Dhe me JavaScript jemi duke shkuar për të të jetë në gjendje për të kontrolluar dhe për të ndryshuar dhe të bëjë 347 00:15:09,400 --> 00:15:12,910 gjëra interesante për të kjo pemë, përndryshe i njohur 348 00:15:12,910 --> 00:15:15,880 si DOM ose Object Model Document. 349 00:15:15,880 --> 00:15:17,110 Cilat llojet e gjërave? 350 00:15:17,110 --> 00:15:19,030 E pra, ajo rezulton se në JavaScript, ka 351 00:15:19,030 --> 00:15:22,800 kjo listë lavanderi të ngjarje që mund të bëhet. 352 00:15:22,800 --> 00:15:26,330 Dhe ne nuk e kemi përdorur me të vërtetë se fjala që javën zero dhe pset 353 00:15:26,330 --> 00:15:28,240 zero kur kemi biseduar për para. 354 00:15:28,240 --> 00:15:31,390 Shumica prej jush ndoshta nuk e ka përdorur një ngjarje në projektin tuaj Scratch. 355 00:15:31,390 --> 00:15:33,850 Por ju mund të kujtojnë të thjeshtë Marco Polo 356 00:15:33,850 --> 00:15:36,760 shembull, ku kemi pasur dy sprites, njëri prej të cilëve tha: Marco. 357 00:15:36,760 --> 00:15:40,180 Tjetri prej të cilëve më pas, me të dëgjuarit dhe dëgjuar atë ngjarje, tha: Polo. 358 00:15:40,180 --> 00:15:42,080 Nëse jo, të ndjehen të lirë për të shikojmë prapa se larg prapa. 359 00:15:42,080 --> 00:15:44,450 >> Por kjo është vetëm për të thonë, dhe ju mund të lloj 360 00:15:44,450 --> 00:15:47,730 konkludoj nga emrat e këtyre gjëra, JavaScript, ajo rezulton, 361 00:15:47,730 --> 00:15:53,200 do të na japë një mënyrë për të dëgjuar për miun shkuar poshtë ose miut duke shkuar deri 362 00:15:53,200 --> 00:15:57,920 ose kyç duke shkuar poshtë ose kyç duke shkuar lart ose onselect onsubmit 363 00:15:57,920 --> 00:15:59,740 ose onresizing diçka. 364 00:15:59,740 --> 00:16:03,060 Me fjalë të tjera, çdo veprim fizik që një njeri mund të marrë me një shfletues 365 00:16:03,060 --> 00:16:08,210 që ju bëni çdo ditë, ju mund të shkruani Kodi për që dëgjon për ato ngjarje 366 00:16:08,210 --> 00:16:10,220 dhe pastaj bën diçka të përshtatshme. 367 00:16:10,220 --> 00:16:14,130 >> Për shembull, në qoftë se ju përdorni Google Maps, çfarë ndodh në qoftë se ju klikoni dhe veprim 368 00:16:14,130 --> 00:16:16,250 miu, zakonisht? 369 00:16:16,250 --> 00:16:17,758 Nëse ju klikoni dhe terhiq? 370 00:16:17,758 --> 00:16:18,258 Po? 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 Pikërisht. 373 00:16:22,200 --> 00:16:23,159 Harta fillon të lëvizë. 374 00:16:23,159 --> 00:16:25,616 Kështu që ju mund të lloj të shihni se çfarë është gjatë këtu, çfarë është atje. 375 00:16:25,616 --> 00:16:27,130 Dhe si Google zbatojnë atë? 376 00:16:27,130 --> 00:16:29,421 E pra, me sa duket, ata janë duke përdorur një çift të këtyre ngjarjes 377 00:16:29,421 --> 00:16:31,720 dëgjuesit, një që thotë, dëgjoj për në miun 378 00:16:31,720 --> 00:16:35,410 down-- kështu kur përdoruesi fizikisht shtyn trackpad e tij ose të tij apo miut saj 379 00:16:35,410 --> 00:16:36,010 poshtë. 380 00:16:36,010 --> 00:16:38,350 Dhe pastaj ne jemi duke kërkuar për diçka si lëvizje 381 00:16:38,350 --> 00:16:41,145 apo ndonjë ngjarje tjetër që na lejon të kapur terhiq. 382 00:16:41,145 --> 00:16:45,910 Dhe në fakt, terhiq është në mënyrë të ngjashme në këtë Dot Dot dot listën e opcioneve të mundshme. 383 00:16:45,910 --> 00:16:49,140 >> Pra, kjo do të jetë një i fuqishëm mënyrë për të filluar duke iu përgjigjur përdoruesit 384 00:16:49,140 --> 00:16:52,824 madje edhe para se ai ose ajo në të vërtetë klikimeve diçka e qartë si dorëzojë. 385 00:16:52,824 --> 00:16:55,240 Por, ne jemi duke shkuar për të futur disa tema çift për të arritur atje. 386 00:16:55,240 --> 00:16:58,570 Tranzicioni Por së pari, le të në një farë kodin aktual. 387 00:16:58,570 --> 00:17:01,450 Kështu që unë jam duke shkuar për të shkuar përpara dhe të hapur dom-0, 388 00:17:01,450 --> 00:17:05,869 i cili është një shembull shumë i thjeshtë këtu se në qoftë se kam zmadhuar thjesht 389 00:17:05,869 --> 00:17:08,500 ka këtë input këtu për mua. 390 00:17:08,500 --> 00:17:12,410 Dhe unë jam duke shkuar për të shkuar përpara dhe shkruani "Davidi" në emrin tim dhe kliko Submit. 391 00:17:12,410 --> 00:17:17,940 >> Dhe pastaj, megjithëse lloj çmim të ulët, unë kanë këtë prompt që pops up që thotë se, 392 00:17:17,940 --> 00:17:19,244 "hello, David!" 393 00:17:19,244 --> 00:17:21,740 Pra, kjo është lloj i si tonë "hello, bota" 394 00:17:21,740 --> 00:17:25,150 që ne e bëmë copë herë prapa në C dhe edhe në PHP, sepse unë kam dinamike 395 00:17:25,150 --> 00:17:26,310 outputted emrin tim. 396 00:17:26,310 --> 00:17:28,230 Unë mund të bëj emrin e dikujt tjetër këtu. 397 00:17:28,230 --> 00:17:31,240 Unë thjesht mund të ndryshojë këtë, si Ana, klikoni Submit. 398 00:17:31,240 --> 00:17:33,780 Dhe me të vërtetë, e vogla pop-up ndryshime. 399 00:17:33,780 --> 00:17:36,650 >> Tani, pop-ups janë një nga shumica e tiparet e dhunuara të web. 400 00:17:36,650 --> 00:17:38,520 Dhe në fakt, prapa në e ditë pop-up blockers 401 00:17:38,520 --> 00:17:40,820 erdhi në modë, sepse ju do të shkojë në një farë website-- 402 00:17:40,820 --> 00:17:43,604 ndoshta një place-- diskutueshme Kjo do pastaj papritmas 403 00:17:43,604 --> 00:17:46,020 filloni peppering ekranin tuaj me një bandë e tërë e pop-ups. 404 00:17:46,020 --> 00:17:49,700 Dhe kështu kjo aftësi për të pop up dritaret në frontin e përdoruesit 405 00:17:49,700 --> 00:17:52,372 nuk ka qenë veçanërisht mirë-pranuar nga njerëzimi. 406 00:17:52,372 --> 00:17:54,080 Pra, kjo është arsyeja pse ju shikoni kjo parandaluar gjë, 407 00:17:54,080 --> 00:17:55,706 që vetëm e bën këtë gjë të gjithë e shëmtuar. 408 00:17:55,706 --> 00:17:57,996 Pra, ne jemi duke shkuar për nevojë për një mënyrë më të mirë për të menjëhershëm të përdoruesit. 409 00:17:57,996 --> 00:17:59,350 Por tani për tani, që duket për të punuar. 410 00:17:59,350 --> 00:18:03,320 Pra, vetëm intuitive, çfarë duket se po ndodh këtu? 411 00:18:03,320 --> 00:18:07,870 Unë shkoj përpara dhe kliko Submit, dhe atëherë diçka po ndodh, në mënyrë të qartë. 412 00:18:07,870 --> 00:18:12,870 Por ajo që nuk po ndodh kjo ka ndodhur javën e kaluar çdo herë që unë klikuar Submit? 413 00:18:12,870 --> 00:18:15,940 Çfarë nuk ka ndodhur në ekran? 414 00:18:15,940 --> 00:18:17,170 Na vjen keq? 415 00:18:17,170 --> 00:18:18,010 Ringarkoni. 416 00:18:18,010 --> 00:18:19,720 URL nuk ka ndryshuar fare. 417 00:18:19,720 --> 00:18:22,250 Unë i thashë se kjo ishte dom-0, dhe unë jam ende në DOM-0. 418 00:18:22,250 --> 00:18:26,890 Normalisht, ne do të merrni ndryshuar në disa të tjera URL, si register.php apo si. 419 00:18:26,890 --> 00:18:29,560 >> Por edhe kur unë të shkarkojë kjo gjë duke klikuar OK, 420 00:18:29,560 --> 00:18:32,310 vini re se URL qëndron vënë plotësisht. 421 00:18:32,310 --> 00:18:35,350 Dhe, në fakt, në qoftë se unë jam pak skeptik, më lejoni të hapur Chrome. 422 00:18:35,350 --> 00:18:36,860 Më lejoni të hapë skedën e rrjetit. 423 00:18:36,860 --> 00:18:38,360 Dhe vini re kjo është bosh në këtë moment. 424 00:18:38,360 --> 00:18:40,700 Më lejoni të shkoj përpara dhe të rikthejë Maria. 425 00:18:40,700 --> 00:18:42,810 Nuk ka asnjë të trafikut të rrjetit whatsoever. 426 00:18:42,810 --> 00:18:44,320 Kështu që nuk ka HTTP. 427 00:18:44,320 --> 00:18:47,620 >> Pra në të vërtetë, në qoftë se unë shoh në kodin burimor për this-- lejoni të mbyllur këtë dritare 428 00:18:47,620 --> 00:18:49,480 dhe shkoni tek View Source. 429 00:18:49,480 --> 00:18:50,400 Interesante. 430 00:18:50,400 --> 00:18:53,520 Ajo duket sikur ka disa tags reja, në mesin e tyre script. 431 00:18:53,520 --> 00:18:57,490 Pra, le të marrin një vështrim brenda CS50 IDE pikërisht ajo që kam dërguar për përdoruesit. 432 00:18:57,490 --> 00:19:00,690 >> Kështu që këtu is-- le të përqëndrohet në vetëm HTML. 433 00:19:00,690 --> 00:19:03,500 Këtu është pjesa e poshtme e DOM-0.html. 434 00:19:03,500 --> 00:19:07,830 Dhe vini re se atë e mori një titull, një tag kokë, një tag trup, një tag formë. 435 00:19:07,830 --> 00:19:11,257 Por ajo që hedhje jashtë për ju si të ndryshme, veçanërisht në qoftë se ju kurrë nuk kam 436 00:19:11,257 --> 00:19:12,590 shkruar ndonjë JavaScript veten. 437 00:19:12,590 --> 00:19:14,920 Më lejoni të lëvizni pak të drejtë këtu. 438 00:19:14,920 --> 00:19:18,330 Unë kam marrë një kontribut, tjetër input për të paraqesë. 439 00:19:18,330 --> 00:19:21,410 Unë kam marrë një ID, që është lloj i ri. 440 00:19:21,410 --> 00:19:22,790 Por ne nuk e shohim këtë me CSS. 441 00:19:22,790 --> 00:19:24,480 Çfarë tjetër është padyshim e re? 442 00:19:24,480 --> 00:19:24,980 Po? 443 00:19:24,980 --> 00:19:30,580 444 00:19:30,580 --> 00:19:32,140 Bukur. 445 00:19:32,140 --> 00:19:32,760 >> Në rregull. 446 00:19:32,760 --> 00:19:35,630 Pra, ku ai thotë onsubmit: vini re çfarë duket për t'u ndjekur. 447 00:19:35,630 --> 00:19:38,740 Ky është një atribut në nomenklaturë HTML. 448 00:19:38,740 --> 00:19:40,944 Vlera e saj është kjo string cituar këtu. 449 00:19:40,944 --> 00:19:42,860 Dhe kjo duket pak pazakontë në shikim të parë. 450 00:19:42,860 --> 00:19:44,050 Kjo nuk është HTML. 451 00:19:44,050 --> 00:19:45,240 Kjo nuk është CSS. 452 00:19:45,240 --> 00:19:47,580 Kjo është, si ju mund të me mend, JavaScript. 453 00:19:47,580 --> 00:19:51,850 Pra, duket se i ndërtuar në këtë web faqja është një funksion i quajtur fala. 454 00:19:51,850 --> 00:19:54,250 Dhe unë jam inferring se vetëm sepse kjo është një fjalë, përshëndes. 455 00:19:54,250 --> 00:19:55,880 Ajo ka një paren hapur, paren ngushtë, pikëpresje. 456 00:19:55,880 --> 00:19:58,095 Duket si një funksion C, duket si një funksion PHP. 457 00:19:58,095 --> 00:20:00,370 >> Dhe me të vërtetë, ajo do të të jetë një funksion JavaScript. 458 00:20:00,370 --> 00:20:01,440 Atëherë unë jam kthyer rreme. 459 00:20:01,440 --> 00:20:03,440 Ne do të kthehen në që në një moment të vetëm. 460 00:20:03,440 --> 00:20:05,320 Por, ku është ky funksion përkufizohet? 461 00:20:05,320 --> 00:20:07,950 E pra më lejoni të lëvizni lart në majë të lëndës. 462 00:20:07,950 --> 00:20:11,710 Dhe, edhe pse kjo është një linjë të gjatë, është relativisht e lehtë. 463 00:20:11,710 --> 00:20:15,000 Më lejoni të zoom jashtë këtu dhe të përqëndrohet në këto katër rreshta. 464 00:20:15,000 --> 00:20:17,137 >> Pra në JavaScript, vetëm si PHP, ju vetëm 465 00:20:17,137 --> 00:20:19,720 të themi, fjalë për fjalë, fjala "funksioni" emri i funksionit, 466 00:20:19,720 --> 00:20:22,700 dhe pastaj kllapa me ndonjë argumente të nuk ka argumente në këtë rast. 467 00:20:22,700 --> 00:20:25,290 Dhe nuk ka asnjë lloj kthim në JavaScript, ashtu si PHP. 468 00:20:25,290 --> 00:20:29,470 Pra, kjo është pak lirshëm se C. Mbajtëse hapur kaçurrel, mbajtëse afër kaçurrel. 469 00:20:29,470 --> 00:20:33,270 Ndërtuar në JavaScript është një function-- jo një function-- rekomanduara 470 00:20:33,270 --> 00:20:35,730 por një funksion të quajtur alarm qëllimi i të cilit i vetëm në jetë 471 00:20:35,730 --> 00:20:38,620 është për të tërhequr deri atë goxha e shëmtuar shpejtë që ne pamë një moment më parë. 472 00:20:38,620 --> 00:20:40,950 >> Tani kjo është lloj i një kafshatë. 473 00:20:40,950 --> 00:20:42,560 Cfare po ndodh ketu? 474 00:20:42,560 --> 00:20:45,840 Pra, le të fillojë të nxjerrë në pah çdo gjë këtu. 475 00:20:45,840 --> 00:20:48,540 Ky është i njëjti argument për të njoftuar. 476 00:20:48,540 --> 00:20:49,530 Dhe çfarë po ndodh? 477 00:20:49,530 --> 00:20:51,200 Kjo vetëm duket si një varg. 478 00:20:51,200 --> 00:20:59,180 Dhe kjo rezulton, ndryshe nga PHP dhe ndryshe nga C, kjo nuk ka rëndësi në JavaScript 479 00:20:59,180 --> 00:21:01,090 në qoftë se ju Kuotat e vetme apo të dyfishtë kuotat. 480 00:21:01,090 --> 00:21:02,060 Ata do të jetë e barabartë. 481 00:21:02,060 --> 00:21:03,769 Dhe sinqerisht, kjo është vetëm popullarizuar këto ditë 482 00:21:03,769 --> 00:21:06,726 për programuesit JavaScript që gjithmonë përdorni kuotat e vetme për disa arsye. 483 00:21:06,726 --> 00:21:07,840 Është vetëm gjë për të bërë. 484 00:21:07,840 --> 00:21:09,710 Por ne mund të përdorni kuotat e dyfishtë, si edhe. 485 00:21:09,710 --> 00:21:11,540 >> Pra, plus është një karakter të ri. 486 00:21:11,540 --> 00:21:14,512 Por ata prej jush që keni bërë këtë më parë, çka do të thotë plus? 487 00:21:14,512 --> 00:21:16,440 Po. 488 00:21:16,440 --> 00:21:17,120 Lidh. 489 00:21:17,120 --> 00:21:18,570 Pra, ne pamë këtë në PHP. 490 00:21:18,570 --> 00:21:20,315 Nuk është vetëm dot operator në PHP që 491 00:21:20,315 --> 00:21:22,000 do të lidh dy vargje së bashku. 492 00:21:22,000 --> 00:21:24,000 C ishte një dhimbje në qafë për të bërë këtë. 493 00:21:24,000 --> 00:21:27,310 Recall nga pset gjashtë, i cili ishte një dhimbje veçantë në qafë, 494 00:21:27,310 --> 00:21:29,470 ju do të duhet të përdorni diçka si strcat 495 00:21:29,470 --> 00:21:31,660 pas ndarjes së kujtesës në rafte apo tog. 496 00:21:31,660 --> 00:21:34,243 Ju kishte për të kërcejnë përmes hoops vetëm për të lidh dy vargjet. 497 00:21:34,243 --> 00:21:36,040 Në JavaScript, është e thjeshtë super. 498 00:21:36,040 --> 00:21:38,030 Vetëm të përdorni operatorin plus mes tyre. 499 00:21:38,030 --> 00:21:41,420 >> Pra, kompleks-looking gjë duket të jetë kjo 500 00:21:41,420 --> 00:21:43,490 sepse në fund e tërë kjo string, unë vetëm 501 00:21:43,490 --> 00:21:45,797 lidh në një pikë thirrje. 502 00:21:45,797 --> 00:21:48,380 Pra, në qoftë se ajo është popping up u "hello, Davidi" "hello, Ana," 503 00:21:48,380 --> 00:21:52,740 "hello, Maria," dhe kështu me radhë, në mënyrë të qartë se gjëja e mesme në mes të dy 504 00:21:52,740 --> 00:21:55,215 pluses duhet të më jep akses në çfarë? 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 Çfarë është atje për të sigurt? 507 00:22:01,991 --> 00:22:02,490 Po. 508 00:22:02,490 --> 00:22:05,090 Kështu që unë do të pretenduar këtu përgjigjet emrin e tyre, apo jo? 509 00:22:05,090 --> 00:22:10,380 Pra, emri i tyre popped deri në finale rezultat. Pra, çfarë do të thotë kjo? 510 00:22:10,380 --> 00:22:15,080 E pra, unë propozuar më herët në atë foto se e ashtuquajtura DOM 511 00:22:15,080 --> 00:22:18,580 ka këtë element të veçantë rrënjë rrugën deri quajtur lartë dokument. 512 00:22:18,580 --> 00:22:21,660 Dhe tani, ajo rezulton, se po ndodh të jetë një variabël të veçantë globale 513 00:22:21,660 --> 00:22:25,250 në JavaScript, ndërtuar në të cilën është tërë bandë e funksionalitetit të dobishme. 514 00:22:25,250 --> 00:22:31,770 Ndër funksionalitetin e dobishme është aftësia për të marrë në çdo nyje pasardhës. 515 00:22:31,770 --> 00:22:37,760 Këto sheshe apo rectangles ose ellipses janë vetëm nyjet në një pemë, kështu që të flasin. 516 00:22:37,760 --> 00:22:41,850 >> Pra, rezulton se ndërtuar në Dokumenti objekt javascript-së 517 00:22:41,850 --> 00:22:47,300 është një funksion, i njohur ndryshe si një metodë, që quhet getElementById. 518 00:22:47,300 --> 00:22:50,410 Sintaksa për thirrje një funksion në JavaScript 519 00:22:50,410 --> 00:22:55,220 ajo është brenda një objekti ose një variabël është vetëm me dot simbol. 520 00:22:55,220 --> 00:22:57,950 Dhe ne pamë këtë në C çfarë sintaksa struct. 521 00:22:57,950 --> 00:23:03,530 Ju shikoni këtë në pset shtatë, lloj, lloj, kur ju shikoni CS50 :: pyetje. 522 00:23:03,530 --> 00:23:08,070 Zorrë e trashë zorrës së trashë në PHP është një tjetër Mënyra e quajtur një funksion që është 523 00:23:08,070 --> 00:23:09,260 brenda ndonjë objekt. 524 00:23:09,260 --> 00:23:11,960 >> Por tani për tani në JavaScript, kjo është vetëm një pikë. 525 00:23:11,960 --> 00:23:14,170 Dhe kështu ky funksion, bukur të mjaftueshme, lloj i 526 00:23:14,170 --> 00:23:16,810 thotë atë që does-- merrni element me ID. 527 00:23:16,810 --> 00:23:20,280 Një element është vetëm një tjetër emër për një tag ose nyje në DOM. 528 00:23:20,280 --> 00:23:26,900 Dhe kështu që të merrni element me ID "emrin" do të thotë this-- këtu është HTML ime. 529 00:23:26,900 --> 00:23:31,910 Dhe në bazë të kësaj HTML, çfarë nyjë apo çfarë HTML tag jam unë 530 00:23:31,910 --> 00:23:35,097 do të jetë i programuar duar duke e quajtur document.getElementById? 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> Po, pikërisht. 533 00:23:38,500 --> 00:23:42,670 Unë jam duke shkuar për të marrë të dhëna Elementi ekziston ID cilit është "emër". 534 00:23:42,670 --> 00:23:45,140 Pra konkretisht, ju mund të të mendojnë për këtë funksion, 535 00:23:45,140 --> 00:23:49,560 getElementById, si një mënyrë për të dhënë mbështetur një tregues për atë nyje të veçantë 536 00:23:49,560 --> 00:23:50,060 në pemë. 537 00:23:50,060 --> 00:23:51,980 Ne nuk e kemi tërhequr këtë pemë, por kjo është një mënyrë 538 00:23:51,980 --> 00:23:54,900 për të marrë qasje në se drejtkëndësh ose që drejtkëndësh 539 00:23:54,900 --> 00:23:58,090 duke unike identifikuar atë nëpërmjet ID saj. 540 00:23:58,090 --> 00:23:59,760 >> Tani, pse është kjo e dobishme? 541 00:23:59,760 --> 00:24:01,510 E pra, ajo rezulton se një herë ju keni marrë 542 00:24:01,510 --> 00:24:07,220 kjo nyje, që drejtkëndësh nga foto, kjo nyje në brendësi të saj, 543 00:24:07,220 --> 00:24:10,660 nga ana tjetër, ka një bandë e tërë e properties-- çifte kyç vlerë 544 00:24:10,660 --> 00:24:13,480 ose dhënat, një nga të cilat është e quajtura vlerë. 545 00:24:13,480 --> 00:24:16,500 Pra fjalë për fjalë, kjo është lloj i një kafshatë për të shpjeguar të gjithë gjë. 546 00:24:16,500 --> 00:24:19,370 Por në fund të ditës, e gjithë kjo nuk është të ju jap 547 00:24:19,370 --> 00:24:23,070 një varg që përdoruesi shtypur në në këtë mënyrë hierarkike. 548 00:24:23,070 --> 00:24:24,820 Por unë nuk e pëlqen një disa nga këto gjëra. 549 00:24:24,820 --> 00:24:27,590 Ose më mirë, ka disa kuriozitet ende. 550 00:24:27,590 --> 00:24:28,870 E gjithë kjo dukej për të punuar. 551 00:24:28,870 --> 00:24:33,420 Pse mendoni se unë u kthye rreme pas thirrje përshëndes? 552 00:24:33,420 --> 00:24:35,910 Kjo duket pak e shëmtuar, që Unë kam dy deklarata atje 553 00:24:35,910 --> 00:24:38,730 ndarë nga dy pika. 554 00:24:38,730 --> 00:24:39,310 Merrni një guess. 555 00:24:39,310 --> 00:24:44,390 Në qoftë se kam hequr kthimit të rreme, çfarë mund të ndodhë, vetëm instinktivisht? 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 Na vjen keq, them përsëri? 558 00:24:49,460 --> 00:24:50,530 >> Hap një bandë e Windows-it. 559 00:24:50,530 --> 00:24:52,780 Pra, potencialisht ndoshta diçka si kjo do të ndodhte. 560 00:24:52,780 --> 00:24:54,422 Çfarë tjetër? 561 00:24:54,422 --> 00:24:55,630 Mund të paraqesë një kërkesë ku? 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 Në të njëjtën faqe. 564 00:25:00,510 --> 00:25:03,110 Pra, në fakt, kjo është ajo sa më afër të përgjigjem këtu, 565 00:25:03,110 --> 00:25:05,890 edhe pse, ndryshe nga në të kaluarën, unë nuk kam 566 00:25:05,890 --> 00:25:09,300 specifikuar atributi veprimit, të cilat normalisht ne duhet të bëjmë. 567 00:25:09,300 --> 00:25:11,780 Rezulton se ka një default. Nëse ju nuk specifikoni veprim, 568 00:25:11,780 --> 00:25:15,370 kjo është si duke thënë kuotën, mbyll thonjëzat ose emrin e file vetë, 569 00:25:15,370 --> 00:25:17,850 e cila në këtë rast do të të jetë si DOM-0.html. 570 00:25:17,850 --> 00:25:20,420 Është vetëm lloj i nxirret, ose më mirë të nënkuptuar. 571 00:25:20,420 --> 00:25:22,420 >> Dhe kështu që në qoftë se unë nuk e bëjmë këtë, le të vini re. 572 00:25:22,420 --> 00:25:23,230 Më lejoni të shpëtuar këtë. 573 00:25:23,230 --> 00:25:25,270 Dhe unë kam hequr kthimit të rreme. 574 00:25:25,270 --> 00:25:27,759 Më lejoni të kthehemi në këtë shembull dhe forcë ringarkoni atë. 575 00:25:27,759 --> 00:25:30,800 Dhe ju mund të keni parë mua sugjeroj kjo në CS50 Diskutoni një bandë e herë. 576 00:25:30,800 --> 00:25:34,560 Nëse ndonjë gjë e ndonjëherë duke vepruar shokuar dhe shfletuesi nuk është sillet si ju presin, 577 00:25:34,560 --> 00:25:37,410 shpesh ju do të dëshironi të mbajë Shift dhe pastaj kliko Rifresko. 578 00:25:37,410 --> 00:25:41,480 Kjo do të detyrojë çdo fotografi për të rifreskoni dhe nuk e përdorin cache lokale të shfletuesit tuaj 579 00:25:41,480 --> 00:25:47,032 ose kopje kështu që tani, më lejoni të shkoj përpara dhe hapur deri Inspektori time, tab rrjetit. 580 00:25:47,032 --> 00:25:48,740 Unë jam duke shkuar për të klikoni Ruajtur Kyçu sepse unë 581 00:25:48,740 --> 00:25:51,660 nuk duan që ajo të fshini rreshtat një herë kam marrë të whisked larg diku tjetër. 582 00:25:51,660 --> 00:25:54,650 >> Më lejoni të shkoj përpara dhe këtu lloji në Andi, klikoni Submit. 583 00:25:54,650 --> 00:25:55,150 Në rregull. 584 00:25:55,150 --> 00:25:56,480 Kjo duket ashtu siç pritet. 585 00:25:56,480 --> 00:25:57,440 Ai thotë se "hello, Andi." 586 00:25:57,440 --> 00:25:59,420 Më lejoni të klikoni OK. 587 00:25:59,420 --> 00:26:00,610 Interesante. 588 00:26:00,610 --> 00:26:05,100 Vini re se kjo faqe ka ndryshuar, megjithëse tek faqja origjinale. 589 00:26:05,100 --> 00:26:06,770 Njoftim lloj URL e ndryshuar. 590 00:26:06,770 --> 00:26:09,430 Ajo ka shtuar një pikëpyetje, e cila është zakonisht një tregues 591 00:26:09,430 --> 00:26:11,260 që ne u përpoq të paraqesë diçka. 592 00:26:11,260 --> 00:26:13,570 Dhe pastaj në fund, edhe më shumë në mënyrë të qartë, 593 00:26:13,570 --> 00:26:17,570 këtu është HTTP kërkesa aktuale, e cila mori një përgjigje prej 200 që 594 00:26:17,570 --> 00:26:18,490 më ktheu këtu. 595 00:26:18,490 --> 00:26:20,250 >> Pra, kjo nuk është çfarë ne duam të bëjmë, e drejtë? 596 00:26:20,250 --> 00:26:22,166 Sepse unë nuk dua të ringarkoni tërë faqen. 597 00:26:22,166 --> 00:26:24,970 Unë në vend të kërkuar për të kthyer rreme në mënyrë që të qark të shkurtër 598 00:26:24,970 --> 00:26:28,840 Sjellja e shfletuesit parazgjedhur, e cila ishte, sigurisht, të paraqesë faqe. 599 00:26:28,840 --> 00:26:31,700 >> Pra, le të marrin një vështrim në një shembull pak më mirë. 600 00:26:31,700 --> 00:26:33,920 Ky është version dom një. 601 00:26:33,920 --> 00:26:36,680 Dhe vini re në vijim. 602 00:26:36,680 --> 00:26:39,150 Është në rregull nëse ju nuk grok të gjithë nga linjat e kodit. 603 00:26:39,150 --> 00:26:41,750 Por ajo që është krejtësisht e ndryshme në lidhje me këtë zbatim? 604 00:26:41,750 --> 00:26:44,690 Unë do të përcaktojnë se sillet në njëjtë, bën të njëjtën gjë. 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 Çfarë kam padyshim bërë ndryshe? 607 00:26:51,570 --> 00:26:52,266 Po? 608 00:26:52,266 --> 00:26:53,182 >> Audienca: [padëgjueshme]. 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVID Malan: Po. 611 00:27:04,170 --> 00:27:08,620 Pra, funksioni është përcaktuar differently-- me fjalë të tjera, që mungojnë nga forma, 612 00:27:08,620 --> 00:27:13,180 atje lart në linjë 7-- ose në vend, linja 8-- nuk 613 00:27:13,180 --> 00:27:15,070 a kam atributin onsubmit. 614 00:27:15,070 --> 00:27:16,750 Në shembullin e mëparshëm, kam pasur këtë. 615 00:27:16,750 --> 00:27:18,530 Dhe atëherë unë fjalë për fjalë shkruar kodin tim këtu. 616 00:27:18,530 --> 00:27:20,210 Dhe atëherë thashë kthimit të rreme. 617 00:27:20,210 --> 00:27:22,180 Dhe në qoftë se ajo nuk fshij ju rrugën e gabuar akoma, 618 00:27:22,180 --> 00:27:26,140 ajo duhet të fillojë të aq si, ashtu si në HTML, 619 00:27:26,140 --> 00:27:29,530 kur kemi filluar të bashkë-shoqërohem it me CSS në atributet stil, 620 00:27:29,530 --> 00:27:32,890 ajo sapo ka filluar për të marrë një pak çrregullt ose të ndjehen një gabim të vogël. 621 00:27:32,890 --> 00:27:35,020 >> Në mënyrë të ngjashme këtu, në qoftë se ju filloni duke marrë HTML, 622 00:27:35,020 --> 00:27:37,419 dhe pastaj ju automatikisht pllum disa kodin e Java skriptet 623 00:27:37,419 --> 00:27:40,460 në mes të një varg të cituar, është nuk do të jetë shumë maintainable. 624 00:27:40,460 --> 00:27:40,630 E drejtë? 625 00:27:40,630 --> 00:27:43,690 Kjo nuk është edhe e qartë në fillim vendin ku kodi JavaScript është. 626 00:27:43,690 --> 00:27:46,590 Pra, kjo do të jetë me të vërtetë e bukur si një parim i dizajnit të mirë, 627 00:27:46,590 --> 00:27:50,500 le të mbajë HTML tonë plotësisht ndarë nga tonë JavaScript. 628 00:27:50,500 --> 00:27:53,150 >> Pra, për të bërë këtë, ajo që ne kemi bërë këtu është following-- 629 00:27:53,150 --> 00:27:56,790 ne thjesht përdor HTML vetëm për markup. 630 00:27:56,790 --> 00:28:00,730 Dhe kështu në versionin e një prej kësaj, të gjithë Unë kam është një formë me një ID unike. 631 00:28:00,730 --> 00:28:04,630 Dhe pastaj poshtë këtu, unë jam duke përfituar i një tipar të veçantë të JavaScript 632 00:28:04,630 --> 00:28:08,480 ku unë mund të ketë atë që e quajtur një funksion anonim. 633 00:28:08,480 --> 00:28:14,150 Pra, rezulton se në qoftë se unë e quaj document.getElementById e 'demo' 634 00:28:14,150 --> 00:28:18,890 kjo është si duke i dhënë mua një tregues për kjo nyje në pemë tim, elementi forma, 635 00:28:18,890 --> 00:28:20,100 mënyrë që të flasin. 636 00:28:20,100 --> 00:28:22,220 >> Tani, unë vetëm e di nga duke e ditur një grimë e HTML 637 00:28:22,220 --> 00:28:26,330 tani ne jemi duke lexuar disa internet reference, që një element formë mbështet 638 00:28:26,330 --> 00:28:29,950 një bandë e tërë e listeners-- ngjarje në fjalë të tjera, listë lavanderi të ngjarjes 639 00:28:29,950 --> 00:28:31,700 dëgjuesit që kemi parë një moment më parë. 640 00:28:31,700 --> 00:28:35,950 Unë e di nga leximi i dokumentacionit se onsubmit është një ngjarje e vlefshme 641 00:28:35,950 --> 00:28:38,520 dëgjues për një element formë. 642 00:28:38,520 --> 00:28:41,480 >> Pra, një herë unë e di se, është e sigurt për mua për të bërë 643 00:28:41,480 --> 00:28:45,390 following-- marrë atë nyje nga pema, elementi forma, 644 00:28:45,390 --> 00:28:48,070 dhe qasjen e saj të ashtuquajtur Prona onsubmit. 645 00:28:48,070 --> 00:28:49,880 Pra dot vetëm do të thotë kjo është një pronë, 646 00:28:49,880 --> 00:28:52,180 si një vlerë të veçantë në brendësi të saj. 647 00:28:52,180 --> 00:28:55,590 Dhe çfarë lloji të dhëna jam unë caktimin, me sa duket, 648 00:28:55,590 --> 00:28:58,900 te onsubmit, i cili është në mënyrë efektive një variabël brenda 649 00:28:58,900 --> 00:29:01,010 e kësaj nyje në pemë? 650 00:29:01,010 --> 00:29:04,100 Kjo është një fushë brenda kësaj struct. 651 00:29:04,100 --> 00:29:05,810 Çfarë është lloji i të dhënave? 652 00:29:05,810 --> 00:29:07,030 >> Një funksion, po. 653 00:29:07,030 --> 00:29:08,607 Pra, rezulton se PHP ka kjo. 654 00:29:08,607 --> 00:29:10,440 Dhe, edhe pse ne nuk ju them për këtë, 655 00:29:10,440 --> 00:29:16,240 C gjithashtu ka funksion, pointers Aftësia për të kaluar dhe të caktojë funksione 656 00:29:16,240 --> 00:29:18,330 si vlera të variablave 'vetë. 657 00:29:18,330 --> 00:29:20,280 Dhe ne nuk jemi duke shkuar për regres prapa në C. 658 00:29:20,280 --> 00:29:23,250 Por tani për tani, rezulton se në anën e djathtë këtu, 659 00:29:23,250 --> 00:29:26,260 edhe pse kjo duket pak shokuar, kjo do të thotë, hej shfletues, 660 00:29:26,260 --> 00:29:27,550 më jepni një funksion. 661 00:29:27,550 --> 00:29:30,560 Unë nuk jam duke shkuar për të shqetësojë edhe duke i dhënë atë një emër për shkak se unë jam fjalë për fjalë 662 00:29:30,560 --> 00:29:34,450 do të caktojë le ta quajmë adresa e këtij funksioni 663 00:29:34,450 --> 00:29:35,994 menjëherë për onsubmit. 664 00:29:35,994 --> 00:29:39,160 Me fjalë të tjera, shfletues, ju nuk keni nevojë të dini se çfarë ky funksion quhet. 665 00:29:39,160 --> 00:29:41,890 Ju vetëm duhet të dini ku ajo eshte ne memories. 666 00:29:41,890 --> 00:29:44,210 Dhe kështu kjo mjafton vetëm për të kanë një shenjë të barabartë atje 667 00:29:44,210 --> 00:29:48,240 dhe mos të shqetësojë emërtimin këtë, si foo ose përshëndes ose ndonjë fjalë tjetër. 668 00:29:48,240 --> 00:29:50,150 Dhe tani kjo është vetëm një gjë e stilistik. 669 00:29:50,150 --> 00:29:53,100 Unë mund të lëvizë këtë mbajtëse kaçurrel mbi the-- sorry-- linjë tjetër 670 00:29:53,100 --> 00:29:54,750 si ne zakonisht e bëjmë CS50. 671 00:29:54,750 --> 00:29:57,550 Por në JavaScript, është në fakt stilistikisht të përbashkët 672 00:29:57,550 --> 00:30:00,450 për të mbajtur vetëm mbajtëse kaçurrel, The pari, në atë rreshtin e parë. 673 00:30:00,450 --> 00:30:02,620 >> Por këtej e tutje, ka asgje interesante. 674 00:30:02,620 --> 00:30:05,830 Që mbajtëse hapur kaçurrel vetëm Në kufirin fillimin e funksionit tim. 675 00:30:05,830 --> 00:30:09,320 Funksioni është tani identike, përveç unë kam 676 00:30:09,320 --> 00:30:11,452 përfshirë false kthimit brenda këtij funksioni. 677 00:30:11,452 --> 00:30:13,160 Sepse ajo kthehet out-- dhe ju do të vetëm 678 00:30:13,160 --> 00:30:14,980 e di këtë nga leximi documentation-- 679 00:30:14,980 --> 00:30:19,740 se nëse funksionin që ju të caktojë për mbajtës onsubmit kthimit të rreme, 680 00:30:19,740 --> 00:30:23,420 shfletuesi vetëm e di dhe pranon mos të dorëzojë formularin në një server. 681 00:30:23,420 --> 00:30:27,210 Nëse ajo kthehet e vërtetë, ajo do të paraqesë ajo në një server për arsye ne do të shohim 682 00:30:27,210 --> 00:30:28,700 janë të dobishme në një moment të vetëm. 683 00:30:28,700 --> 00:30:31,000 >> Dhe pastaj pikëpresje pas mbajtëse kaçurrel atje vetëm 684 00:30:31,000 --> 00:30:32,541 do të thotë që unë jam bërë përcaktimin e funksionit. 685 00:30:32,541 --> 00:30:36,600 Ti e di se çfarë për të thirrur sa më shpejt si ju dëgjoni një parashtresë. 686 00:30:36,600 --> 00:30:37,100 Në rregull. 687 00:30:37,100 --> 00:30:40,650 Kjo është ende ndoshta lloji i shëmtuar. 688 00:30:40,650 --> 00:30:42,190 Pra, çfarë më shumë mund të bëjmë? 689 00:30:42,190 --> 00:30:45,000 >> E pra, ajo rezulton pastaj në version dy, që është last-- 690 00:30:45,000 --> 00:30:46,780 dhe ne do të vetëm shikim në këtë. 691 00:30:46,780 --> 00:30:49,850 Në rrezik për të bërë ajo shëmtuar, rezulton 692 00:30:49,850 --> 00:30:52,160 se ka një bibliotekë në bota quajtur jQuery. 693 00:30:52,160 --> 00:30:54,900 Dhe jQuery është një super popullor bibliotekë JavaScript 694 00:30:54,900 --> 00:30:57,930 kjo është kaq popullore që më ndonjë JavaScript-- kjo nuk është 695 00:30:57,930 --> 00:31:00,540 e pazakontë për njerëzit për të ngatërruar jQuery me JavaScript. 696 00:31:00,540 --> 00:31:01,070 Përse? 697 00:31:01,070 --> 00:31:04,990 Vetë JavaScript ka shumë mënyra fjalëshumë e të bërit things-- 698 00:31:04,990 --> 00:31:07,820 document.getElementById, dadadadadada. 699 00:31:07,820 --> 00:31:10,510 Ju deri në fund të paturit shumë Linjat e gjata të kodit. 700 00:31:10,510 --> 00:31:15,550 >> Pra, një shok me emrin John Reshid, që në fakt punon për një fillimin 701 00:31:15,550 --> 00:31:18,630 deri këto ditë, doli me këtë bibliotekë vjet 702 00:31:18,630 --> 00:31:22,070 më parë se shumë njerëz kanë kontribuar të quajtur jQuery që ndryshon 703 00:31:22,070 --> 00:31:23,449 Sintaksa në mënyrën e mëposhtme. 704 00:31:23,449 --> 00:31:25,740 Dhe vetëm kështu që ju keni parë këtë, sepse ju do pa ndryshim 705 00:31:25,740 --> 00:31:28,140 shohin këtë nëse duke bërë një Projekti final web-based, 706 00:31:28,140 --> 00:31:33,270 kjo do të ishte mënyra ekuivalent i zbatimin e këtij funksioni të njëjtën përdorur 707 00:31:33,270 --> 00:31:34,630 kjo bibliotekë të veçantë. 708 00:31:34,630 --> 00:31:36,680 >> Tani, në vend se vë në lojë ajo përveç në tërësinë e tij, 709 00:31:36,680 --> 00:31:38,520 le të vetëm shikoni në disa modele. 710 00:31:38,520 --> 00:31:44,850 Kjo Sintaksa duket të ketë Sa funksionon anonim 711 00:31:44,850 --> 00:31:49,584 ose funksionet Nameless ose funksione AKA lambda? 712 00:31:49,584 --> 00:31:50,190 Dy, e drejtë? 713 00:31:50,190 --> 00:31:52,690 Dhe ju e dini se, edhe në qoftë se ju nuk jeni super i qetë me këtë, 714 00:31:52,690 --> 00:31:55,780 vetëm nga fakti se ajo thotë se funksioni () dy herë. 715 00:31:55,780 --> 00:31:58,172 >> Dhe kjo rezulton se çfarë ky kod është doing-- 716 00:31:58,172 --> 00:32:01,255 dhe ne do të referohemi referenca në internet, në fund të fundit, për disa ndihmë me këtë. 717 00:32:01,255 --> 00:32:04,480 Kjo thjesht do të thotë se kur dokumenti është gati, 718 00:32:04,480 --> 00:32:07,490 të shkojnë përpara dhe të regjistroheni funksioni vijim 719 00:32:07,490 --> 00:32:12,064 si paraqesin mbajtës për HTML Elementi ide unike e të cilit është demo. 720 00:32:12,064 --> 00:32:14,480 Dhe pastaj, kur kjo ndodh, quajmë këto dy rreshta të kodit. 721 00:32:14,480 --> 00:32:18,677 Dhe kjo është, tragjikisht, një më shumë Mënyra fjalëshumë të thënë kthimit të rreme. 722 00:32:18,677 --> 00:32:21,510 Dhe ne përmendur kjo vetëm për shkak ju do të shihni kodin si ky online. 723 00:32:21,510 --> 00:32:23,140 Dhe kjo është asgjë për t'u tmerruar nga. 724 00:32:23,140 --> 00:32:26,057 Por më tepër, mbani në mend se çfarë është do të jenë të zakonshme në JavaScript 725 00:32:26,057 --> 00:32:26,765 është kjo paradigmë. 726 00:32:26,765 --> 00:32:29,510 Dhe kështu kjo është arsyeja pse ne tregojmë atë për tani. 727 00:32:29,510 --> 00:32:30,010 Në rregull. 728 00:32:30,010 --> 00:32:32,730 Pra, pa banesë shumë shumë në atë sintaksë, 729 00:32:32,730 --> 00:32:37,800 po ka ndonjë pyetje në Këta shembuj ose ide deri tani? 730 00:32:37,800 --> 00:32:38,300 Në rregull. 731 00:32:38,300 --> 00:32:40,220 Pra, le të përdorim këtë për diçka të dobishme. 732 00:32:40,220 --> 00:32:47,070 Marrja e një faqe web që vetëm thotë përshëndetje, kështu dhe kështu nuk është e gjitha që interesante, 733 00:32:47,070 --> 00:32:47,830 mos underwhelm. 734 00:32:47,830 --> 00:32:51,038 Kjo nuk do të jenë të bukur, por ajo do të bëjë diçka të dobishme. 735 00:32:51,038 --> 00:32:56,350 Më lejoni të kthehem në directory time këtu dhe të hapur, të themi, forma-0.html. 736 00:32:56,350 --> 00:32:59,320 >> Pra mendoj kjo është studente faqe sportive i brendshëm e regjistrimit 737 00:32:59,320 --> 00:33:01,780 pa ndonjë CSS apo ndonjë kuptim të dizajnit. 738 00:33:01,780 --> 00:33:05,404 Dhe unë dua të shkoj përpara dhe regjistruar këtu me një fjalëkalim. 739 00:33:05,404 --> 00:33:08,320 Dhe unë jam duke shkuar për të rënë dakord me kushtet dhe kushtet dhe klikoni Regjistrohu. 740 00:33:08,320 --> 00:33:11,700 Dhe tani faqen e internetit të thotë: "Ti je regjistruar! (Pra, jo të vërtetë.) " 741 00:33:11,700 --> 00:33:15,070 Kjo duket si ajo ka punuar, por më lejoni të shkoj përpara dhe të detyrojë reload. 742 00:33:15,070 --> 00:33:18,720 >> Dhe më lejoni të them, jo, ju nuk e bëni nevojë adresën aktuale time email. 743 00:33:18,720 --> 00:33:21,820 Apo ndoshta ne do të themi vetëm postën në atje. 744 00:33:21,820 --> 00:33:25,080 Fjalëkalimi do të jetë, si, 12345. 745 00:33:25,080 --> 00:33:28,810 Dhe pastaj, vetëm për shkak se unë jam i një idiot, tani është 123456789. 746 00:33:28,810 --> 00:33:31,150 Dhe unë nuk jam duke shkuar për të kontrolluar kutinë tuaj. 747 00:33:31,150 --> 00:33:31,850 >> Hmm. 748 00:33:31,850 --> 00:33:32,350 Në rregull. 749 00:33:32,350 --> 00:33:34,920 Pra, ka disa mundësi për përmirësim këtu. 750 00:33:34,920 --> 00:33:39,070 Dhe ju e dini, ose do të shohim në pset shtatë, që ju mund të shkruani code-- 751 00:33:39,070 --> 00:33:41,890 dhe ju do të keni për të shkruar kod në PHP-- për të mbrojtur 752 00:33:41,890 --> 00:33:45,780 kundër këtyre llojeve të përdoruesit gabime sepse përdoruesi në mënyrë të qartë 753 00:33:45,780 --> 00:33:46,790 nuk ka bashkëpunuar. 754 00:33:46,790 --> 00:33:49,680 Dhe ai ose ajo nuk ju ka dhënë të gjitha vlerat që ju të kërkuar apo edhe në formatin 755 00:33:49,680 --> 00:33:50,630 që keni kërkuar ato. 756 00:33:50,630 --> 00:33:53,250 Pra, ju do të shihni në pset shtatë që ne me siguri mund të kemi disa 757 00:33:53,250 --> 00:33:55,680 nëse kushtet që thonë në qoftë se e-mail adresën 758 00:33:55,680 --> 00:33:59,450 nuk është një username@something.edu, ne mund vetëm 759 00:33:59,450 --> 00:34:02,575 them keq dhe kërkoj falje për përdoruesit shumë, si ju mund të jetë në pset shtatë. 760 00:34:02,575 --> 00:34:05,700 Ose në qoftë se ata nuk e kanë kontrolluar atë kuti, rezulton në PHP, ju mund të zbulojë se, 761 00:34:05,700 --> 00:34:06,200 shumë. 762 00:34:06,200 --> 00:34:09,389 Dhe sigurisht nëse fjalëkalimet nuk përputhen si në register.php 763 00:34:09,389 --> 00:34:11,521 për pset shtatë, ju mund të zbulojë atë. 764 00:34:11,521 --> 00:34:13,770 Por kjo është një dhimbje në qafë në se tani ata kërkojnë 765 00:34:13,770 --> 00:34:15,510 ne që të shkojnë të gjithë rrugën në server. 766 00:34:15,510 --> 00:34:17,053 Ky përdorues është në dijeni të gabimit. 767 00:34:17,053 --> 00:34:19,219 Dhe të paktën nëse ju përdorni disa teknika njohës, 768 00:34:19,219 --> 00:34:20,929 tani ata duhet të klikoni mbrapa shigjetën. 769 00:34:20,929 --> 00:34:23,300 Nuk do të jetë e bukur, si një shumë e faqeve sot, 770 00:34:23,300 --> 00:34:26,190 në qoftë se keni pasur më të menjëhershëm reagime, çast? 771 00:34:26,190 --> 00:34:31,389 >> Me fjalë të tjera, më lejoni të shkoj në versionin një, e cila do të jetë jo prettier. 772 00:34:31,389 --> 00:34:33,469 Por ajo ka këtë funksion. 773 00:34:33,469 --> 00:34:39,590 Malan, 12345, 123456789, nuk do të kontrolloni kutinë, Regjistrin. 774 00:34:39,590 --> 00:34:41,330 Fjalëkalimet nuk përputhen. 775 00:34:41,330 --> 00:34:44,459 Pra, edhe pse kjo pop-up është ugly-- ne mund të zëvendësojë këtë përfundimisht 776 00:34:44,459 --> 00:34:47,000 me diçka si bootstrap, që ju do të shihni në pset shtatë 777 00:34:47,000 --> 00:34:50,239 është një library-- shumë popullor kam bërë zbuluar se fjalëkalimet nuk përputhen. 778 00:34:50,239 --> 00:34:50,739 Në rregull. 779 00:34:50,739 --> 00:34:52,530 E pra, më lejoni të rregullojmë se si përdoruesit. 780 00:34:52,530 --> 00:34:55,460 Më lejoni të shkoj përpara dhe të thonë 12345, 12345. 781 00:34:55,460 --> 00:34:57,780 Ende nuk e kontrolluar marrëveshjen. 782 00:34:57,780 --> 00:35:00,210 Ju duhet të bien dakord të Termat dhe Kushtet. 783 00:35:00,210 --> 00:35:01,760 Pra, pse? 784 00:35:01,760 --> 00:35:04,100 >> Në qoftë se ne kemi shtruar tashmë se ka një mënyrë, 785 00:35:04,100 --> 00:35:07,260 dhe ne kemi kërkuar që ju në pset shtatë për të zbuluar gabimin 786 00:35:07,260 --> 00:35:09,780 kushtet si kjo server-side, pse duhet unë 787 00:35:09,780 --> 00:35:13,940 mërzit gjithashtu duke bërë këtë në JavaScript? 788 00:35:13,940 --> 00:35:15,850 Çfarë është një argument në favor të shtuar çfarë 789 00:35:15,850 --> 00:35:18,760 ju jeni gati për të parë si some-- ka kompleksitet shtesë. 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> Ndoshta nuk ka kokë. 792 00:35:25,930 --> 00:35:26,924 Çfarë mund të jetë? 793 00:35:26,924 --> 00:35:27,840 Audienca: [padëgjueshme]. 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVID Malan: Oh, interesante. 796 00:35:32,340 --> 00:35:33,530 Shfrytëzon të mundshme. 797 00:35:33,530 --> 00:35:37,540 Aq i sigurt, në qoftë se ju nuk jeni trajtimin të dhëna të gabuara përdorues se madhe, 798 00:35:37,540 --> 00:35:40,170 Ndoshta kjo është e gjitha më mirë në qoftë se ai as nuk arrijnë serverin tuaj. 799 00:35:40,170 --> 00:35:42,160 Unë do të shtyjë përsëri atje dhe të themi, ju ndoshta duhet të 800 00:35:42,160 --> 00:35:43,284 fix dy këto probleme. 801 00:35:43,284 --> 00:35:44,140 Por kjo është e drejtë. 802 00:35:44,140 --> 00:35:44,710 Çfarë tjetër? 803 00:35:44,710 --> 00:35:45,626 >> Audienca: [padëgjueshme]. 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVID Malan: Po. 806 00:35:49,014 --> 00:35:51,680 Ky kod, siç kemi thënë më parë, është interpretuar në anën e klientit. 807 00:35:51,680 --> 00:35:53,846 Ajo nuk e mërzit server, që do të thotë se nuk ka 808 00:35:53,846 --> 00:35:55,930 ndikojnë ngarkesën e serverit apo kapacitet. 809 00:35:55,930 --> 00:35:59,840 Dhe tani, për pak më të vjetër, kjo nuk ka efekt kuptimplotë 810 00:35:59,840 --> 00:36:01,970 sepse unë kam një përdorues të drejtë tani. 811 00:36:01,970 --> 00:36:04,010 >> Por nëse ju jeni ndonjë Faqja e internetit e madhësisë të mirë, 812 00:36:04,010 --> 00:36:07,400 sidomos më i madh, si Facebook, më shumë ju mund të mbani njerëzit jashtë 813 00:36:07,400 --> 00:36:09,927 i serverit tuaj më të mirë sepse një server, natyrisht, 814 00:36:09,927 --> 00:36:12,510 ka vetëm një sasi e fundme e RAM, një numër i caktuar i gigahertz, 815 00:36:12,510 --> 00:36:16,340 një numër i caktuar i gjërave ajo mund të bëjë për njësi të kohës. 816 00:36:16,340 --> 00:36:19,170 Pra, nëse ka më shumë njerëz në bota goditur serverin tuaj, 817 00:36:19,170 --> 00:36:21,750 aksidentalisht prerjet gabimisht, ashtu si edhe në qoftë se ju 818 00:36:21,750 --> 00:36:23,254 mund të mbani atë peshë off serverin tuaj. 819 00:36:23,254 --> 00:36:25,420 Plus, sidomos në një celular device-- në qoftë se ju keni ndonjëherë 820 00:36:25,420 --> 00:36:29,190 hyni në my.harvard ose Netid Yale ose të ngjashme, 821 00:36:29,190 --> 00:36:32,330 ka kjo latente me një shumë të faqet e internetit si ajo ku ajo merr, 822 00:36:32,330 --> 00:36:34,110 si, një mallkim i dytë ose dy herë. 823 00:36:34,110 --> 00:36:37,979 Dhe pastaj, Perëndia im, në qoftë se ju mistype, atëherë ju keni për të goditur prapa dhe bëj sërish atë. 824 00:36:37,979 --> 00:36:40,520 Pra, ka latente, veçanërisht në lidhjet e ngadalshme e rrjetit. 825 00:36:40,520 --> 00:36:43,030 Por JavaScript, sepse ajo shkon në klientin 826 00:36:43,030 --> 00:36:46,720 dhe nuk ka nevojë për të shkuar mbrapa dhe me radhë nëpër një internet potencialisht të ngadaltë 827 00:36:46,720 --> 00:36:49,780 lidhje, ju mund të merrni reagime gati i menjëhershëm. 828 00:36:49,780 --> 00:36:50,760 >> Pra, le të shohim në këtë. 829 00:36:50,760 --> 00:36:54,280 Më lejoni të hapë forma-0 dhe shikoni në HTML këtu. 830 00:36:54,280 --> 00:36:56,040 Dhe le të vetëm të shohim se çfarë po ndodh. 831 00:36:56,040 --> 00:36:59,460 Kjo është një formë e të cilit veprimi është register.php. 832 00:36:59,460 --> 00:37:01,530 Unë jam vetëm duke përdorur të merrni aq që unë mund të shoh URL. 833 00:37:01,530 --> 00:37:05,030 Por për fjalëkalime, ne do të me siguri duam për të ndryshuar këtë për të postuar në realitet. 834 00:37:05,030 --> 00:37:06,910 Këtu është një fushë input e tekstit tipit. 835 00:37:06,910 --> 00:37:09,050 Ja një tjetër input Fusha e tipit fjalëkalim. 836 00:37:09,050 --> 00:37:13,150 Këtu është, në qoftë se ju kurrë nuk kam parë, një input i tipit checkbox. 837 00:37:13,150 --> 00:37:15,250 >> Por nuk ka asnjë JavaScript këtu whatsoever. 838 00:37:15,250 --> 00:37:18,170 Kjo është vetëm HTML që shkon në register.php. 839 00:37:18,170 --> 00:37:21,020 Por në versionin e parë, ku unë filluar të marrë ato pop-ups, 840 00:37:21,020 --> 00:37:23,010 le të shohim se çfarë në të vërtetë ndodh këtu. 841 00:37:23,010 --> 00:37:26,757 Në versionin e parë, çfarë Unë jam duke shkuar për see-- I 842 00:37:26,757 --> 00:37:29,340 mendova se mund të ngecë mjaft me fjalë të mjaftueshme, por unë vrapoi jashtë. 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> Në versionin one-- atje ne do të shkojmë. 845 00:37:38,590 --> 00:37:43,180 Në versionin e parë, vini re following-- dhe nuk është implementimi mirë, 846 00:37:43,180 --> 00:37:44,420 por kjo është e ime e parë. 847 00:37:44,420 --> 00:37:47,680 Vini re se nën nivelin e formë, unë kam një tag script. 848 00:37:47,680 --> 00:37:49,430 Dhe një tag script do të thotë, hej, shfletues, këtu 849 00:37:49,430 --> 00:37:52,340 vjen një kod në, në mënyrë tipike, JavaScript. 850 00:37:52,340 --> 00:37:54,420 Dhe tani, vini re atë që unë jam duke bërë. 851 00:37:54,420 --> 00:37:59,070 Në line-- unë mund mezi lexuar it-- rreshti 32, ai thotë: 852 00:37:59,070 --> 00:38:01,420 var form-- kështu jepni një ndryshore të quajtur formë. 853 00:38:01,420 --> 00:38:05,049 Dhe pastaj merrni document.getElementId e "regjistrimit". 854 00:38:05,049 --> 00:38:05,590 Çfarë është kjo? 855 00:38:05,590 --> 00:38:07,290 E pra, më lejoni të Rewind këtu. 856 00:38:07,290 --> 00:38:11,510 Dhe vini re, ah, unë i dha elementin formë një ide arbitrare, por përshkrues 857 00:38:11,510 --> 00:38:13,050 e regjistrimit. 858 00:38:13,050 --> 00:38:16,820 Pra, kjo më jep një variabël që lejon mua për të rrëmbyer atë nyje, 859 00:38:16,820 --> 00:38:19,580 që drejtkëndësh në pemë të quajtur formë. 860 00:38:19,580 --> 00:38:24,460 Mjetet form.onsubmit, hej shfletues, regjistruar një dëgjues ngjarje 861 00:38:24,460 --> 00:38:25,470 në këtë formë. 862 00:38:25,470 --> 00:38:28,890 Me fjalë të tjera, kur kjo formë është paraqitur, të ekzekutuar kodin e mëposhtëm. 863 00:38:28,890 --> 00:38:30,810 Ajo nuk ka nevojë për një emër, sepse pse ju duhet të dini emrin? 864 00:38:30,810 --> 00:38:32,880 Ju vetëm duhet të dini Çfarë duhet për të ekzekutuar, ergo 865 00:38:32,880 --> 00:38:35,610 është një funksion anonim ose lambda. 866 00:38:35,610 --> 00:38:37,632 Dhe kjo është funksioni të gjitha këto linja këtu. 867 00:38:37,632 --> 00:38:40,840 Dhe tani, të jem i sinqertë, edhe pse ju nuk mund të ketë shkruar ndonjëherë JavaScript 868 00:38:40,840 --> 00:38:44,200 para, kjo është vetëm C dhe PHP logjikë. 869 00:38:44,200 --> 00:38:51,720 Pra, nëse form.email.value == "" - kështu që nëse fusha mail-i është bosh, 870 00:38:51,720 --> 00:38:54,980 çirrem në përdorues me "Ju duhet sigurojë adresën tuaj të postës elektronike. " 871 00:38:54,980 --> 00:38:58,980 Tjetër në qoftë se form.password.value është Yell bosh në përdoruesit, 872 00:38:58,980 --> 00:39:00,400 "Ju duhet të japë fjalëkalimin tuaj." 873 00:39:00,400 --> 00:39:04,240 >> Më interesant logjikisht, nëse form.password.value nuk ka 874 00:39:04,240 --> 00:39:08,630 form.confirmation.value-- barabartë ku ka konfirmimi erdhi nga? 875 00:39:08,630 --> 00:39:09,470 Më lejoni të Rewind. 876 00:39:09,470 --> 00:39:12,870 E pra, unë e quajti këtë input fushë këtu fjalëkalim. 877 00:39:12,870 --> 00:39:15,180 Dhe unë e quajti këtë një të tillë këtu konfirmim. 878 00:39:15,180 --> 00:39:17,850 Unë mund të ketë e quajti atë Fjalëkalimi dy apo ndonjë gjë tjetër. 879 00:39:17,850 --> 00:39:20,560 Unë jam vetëm duke kontrolluar logjikisht që këto dy janë të njëjta. 880 00:39:20,560 --> 00:39:25,760 Else-- rezulton kjo është z Boole again-- një vlerë Boolean, kutin. 881 00:39:25,760 --> 00:39:29,810 Pra, nëse unë them, thirrje point-- nëse nuk form.agreement.checked, 882 00:39:29,810 --> 00:39:31,820 çirrem në të përdoruesit, si dhe. 883 00:39:31,820 --> 00:39:34,470 >> Pra, kjo sintaksë ju do të shihni është shumë e zakonshme në JavaScript, 884 00:39:34,470 --> 00:39:35,970 ku ju e keni këtë shënim me pika. 885 00:39:35,970 --> 00:39:37,460 Ju filloni me një objekt këtu. 886 00:39:37,460 --> 00:39:41,430 Ju pikiatë në të thellë për një për një pronë si password. 887 00:39:41,430 --> 00:39:43,280 Dhe pastaj ju merrni në vlerën e saj aktuale. 888 00:39:43,280 --> 00:39:45,830 Dhe përsëri, këtu është input. 889 00:39:45,830 --> 00:39:47,310 Këtu është emri fjalëkalimin. 890 00:39:47,310 --> 00:39:50,860 Dhe vlera e saj është çfarëdo e njeriut në fakt ka shtypur në. 891 00:39:50,860 --> 00:39:53,610 >> Pra, në të gjitha këto raste, u ktheva rreme. 892 00:39:53,610 --> 00:39:55,800 Por në qoftë se jo, unë të kthehet e vërtetë. 893 00:39:55,800 --> 00:39:58,030 Dhe kështu që tani ne shohim një Përdorimi bindëse e kur 894 00:39:58,030 --> 00:40:00,620 ju do të kthehet rreme në ndaluar atë që përdoruesi të bërë 895 00:40:00,620 --> 00:40:03,200 dhe të bëjë atë ose të saj të zgjedhin sërish ose shkruani përsëri. 896 00:40:03,200 --> 00:40:05,870 Përndryshe, ne kthim i vërtetë. 897 00:40:05,870 --> 00:40:08,585 >> Dhe më lejoni të prezantoj një variant tjetër i kësaj vetëm 898 00:40:08,585 --> 00:40:13,140 për pasardhësit disa të kuptuarit e tyre. 899 00:40:13,140 --> 00:40:16,850 E pra, në versionin 2 të kësaj, formë-2-- Unë do të bëjë atë me një valë e një dore. 900 00:40:16,850 --> 00:40:19,920 Kjo është, për ata kurioz, versioni jQuery, 901 00:40:19,920 --> 00:40:23,330 ata prej jush që mund të duan të ujit në këtë bibliotekë të veçantë. 902 00:40:23,330 --> 00:40:25,145 Por le të start-- dhe ndonjë pyetje? 903 00:40:25,145 --> 00:40:29,230 Më lejoni të bëj një pauzë për momentin sepse që ishte e shpejtë dhe shumë. 904 00:40:29,230 --> 00:40:32,610 >> Por gjëja e mirë këtu është se të gjithë i kodit është shumë e shumë të njëjtën gjë. 905 00:40:32,610 --> 00:40:33,985 Stuff e re është ajo që është dom? 906 00:40:33,985 --> 00:40:35,115 Cilat janë këto rectangles? 907 00:40:35,115 --> 00:40:35,990 Cilat janë këto nyje? 908 00:40:35,990 --> 00:40:37,540 Çfarë është një funksion anonim? 909 00:40:37,540 --> 00:40:38,830 Çfarë është një mbajtës ngjarje? 910 00:40:38,830 --> 00:40:43,480 Por fatmirësisht, shumica e kjo është vetëm rreth të plotë nga, të themi, javën zero. 911 00:40:43,480 --> 00:40:43,980 Në rregull. 912 00:40:43,980 --> 00:40:46,070 Pra, diçka pak më interesante? 913 00:40:46,070 --> 00:40:49,340 E pra, para së gjithash, më lejoni të shkoj përpara dhe të hapur Google Maps. 914 00:40:49,340 --> 00:40:53,360 Dhe ju do të vëreni se për një moment, për të ndarë të dytë, 915 00:40:53,360 --> 00:40:55,930 vini re se çfarë ndodh kur Unë klikoni shpejtë të mjaftueshme. 916 00:40:55,930 --> 00:40:59,720 Dhe kjo lidhje në Harvard është aq shpejt që ju të vërtetë nuk e vërejnë atë. 917 00:40:59,720 --> 00:41:04,469 Por çfarë do të lloj lloj i shoh në qoftë se unë klikoni dhe terhiq të vërtetë të shpejtë? 918 00:41:04,469 --> 00:41:07,010 Ata prej jush shikuar në internet, në qoftë se ju ngadalshëm kjo për të shpejtuar 0.5x, 919 00:41:07,010 --> 00:41:09,640 ju mund të shihni këtë më mirë. 920 00:41:09,640 --> 00:41:13,550 >> Çfarë po ndodhte vetëm para se të klikuar dhe zvarritur? 921 00:41:13,550 --> 00:41:15,900 Më lejoni të provoni here-- më lejoni të bëj diçka tjetër, si 90.210. 922 00:41:15,900 --> 00:41:17,550 Le të shkojnë larg. 923 00:41:17,550 --> 00:41:19,000 Kjo ishte me të vërtetë i shpejtë, too. 924 00:41:19,000 --> 00:41:22,460 Si për Disney World? 925 00:41:22,460 --> 00:41:23,190 Atje shkojmë. 926 00:41:23,190 --> 00:41:23,690 NE RREGULL. 927 00:41:23,690 --> 00:41:26,030 Çfarë keni parë për një ndarje të dytë? 928 00:41:26,030 --> 00:41:27,200 Ashtu, si, sheshet, e drejtë? 929 00:41:27,200 --> 00:41:28,930 Placeholders për pllaka? 930 00:41:28,930 --> 00:41:30,270 >> E pra, çfarë po ndodh këtu? 931 00:41:30,270 --> 00:41:35,410 Google Maps është një shembull i mirë i kjo teknologji që quhet AJAX. 932 00:41:35,410 --> 00:41:38,510 Dhe kjo është ajo ku ne do të fillojmë të përdorin JavaScript në një veçanërisht 933 00:41:38,510 --> 00:41:39,277 mënyrë tërheqës. 934 00:41:39,277 --> 00:41:41,610 Mbrapa në ditë, nuk ka pasur Kjo faqe e internetit quajtur MapQuest. 935 00:41:41,610 --> 00:41:44,120 Dhe unë duhet të ketë marrë një screenshot e kjo nga vitet 1990, 936 00:41:44,120 --> 00:41:45,820 ku në qoftë se ju të kërkuar për të kërkoni këtu në hartë, 937 00:41:45,820 --> 00:41:48,590 ju fjalë për fjalë do të klikoni një shigjetë deri në krye që ju tregoi 938 00:41:48,590 --> 00:41:49,870 një shesh të ndryshme të hartës. 939 00:41:49,870 --> 00:41:51,790 Në qoftë se ju të kërkuar për të lëvizur majtas, ju klikuar një shigjetë që ju tregoi 940 00:41:51,790 --> 00:41:53,210 një shesh të ndryshme të hartës. 941 00:41:53,210 --> 00:41:54,840 Dhe disa faqet e internetit ende bëjnë këtë sot. 942 00:41:54,840 --> 00:41:57,820 Por edhe MapQuest ka marrë më mirë, si Google Maps. 943 00:41:57,820 --> 00:42:01,880 >> Në vend të kësaj, ajo është më mirë këto ditë është faqet e internetit që përdorin AJAX. 944 00:42:01,880 --> 00:42:04,510 AJAX-- njohur ndryshe si Asinkron JavaScript dhe XML, 945 00:42:04,510 --> 00:42:08,370 e cila është vetëm një mënyrë e sofistikuar për të thënë një teknologji apo teknikë që 946 00:42:08,370 --> 00:42:14,200 lejon një shfletues duke përdorur JavaScript për të bërë shtesë HTTP kërkesa 947 00:42:14,200 --> 00:42:16,390 pas faqe është ngarkuar. 948 00:42:16,390 --> 00:42:17,479 Pra, çfarë do të thotë kjo? 949 00:42:17,479 --> 00:42:19,270 E pra, kjo do të jetë lloj i bezdisshëm në Gmail 950 00:42:19,270 --> 00:42:21,103 në qoftë se çdo herë do të donit për të kontrolluar postën tuaj, 951 00:42:21,103 --> 00:42:24,940 ju kishte goditur fjalë për fjalë Control-R ose Command-R ose kliko butonin Reload 952 00:42:24,940 --> 00:42:26,580 dhe e tërë faqja mallkuar do të reload. 953 00:42:26,580 --> 00:42:26,800 E drejtë? 954 00:42:26,800 --> 00:42:28,460 Ajo do flash bardhë ndoshta për sekondë. 955 00:42:28,460 --> 00:42:30,043 Ju do të shihni shiritin budalla progresit. 956 00:42:30,043 --> 00:42:33,170 Dhe vetëm për të parë nëse keni të ri postë, e tërë faqja web dhe URL 957 00:42:33,170 --> 00:42:34,580 ju jeni në do të duhet të ringarkoni. 958 00:42:34,580 --> 00:42:35,960 >> Por kjo nuk është ajo që ndodh në Gmail. 959 00:42:35,960 --> 00:42:36,459 E drejtë? 960 00:42:36,459 --> 00:42:40,300 Kur ju merrni një email të ri në Gmail, çfarë ndodh në ekran? 961 00:42:40,300 --> 00:42:41,480 Ajo thjesht tregon lart, e drejtë? 962 00:42:41,480 --> 00:42:44,280 Ajo vetëm magjike shfaqet si një rresht të ri në tryezë. 963 00:42:44,280 --> 00:42:47,030 Që në fakt përfshin një sasi të mirë e kompleksitetit. 964 00:42:47,030 --> 00:42:51,892 Në fakt, në qoftë se ju mendoni rreth kësaj peme, e cila edhe pse është e thjeshtë këtu, 965 00:42:51,892 --> 00:42:54,100 Gmail-- dhe unë do të duhet të shikoni në kodin të jetë sure-- 966 00:42:54,100 --> 00:42:58,710 ndoshta ka një tryezë HTML apo ndoshta një listë të renditura se ajo bën 967 00:42:58,710 --> 00:43:01,060 secili prej inboxes tuaj email si. 968 00:43:01,060 --> 00:43:04,050 >> Dhe kështu që nëse ju imagjinoni këtë ka është një pemë në kujtim kur ju jeni 969 00:43:04,050 --> 00:43:09,050 duke përdorur Gmail që duket lloj lloj si kjo, kur Google e kupton, ooh, 970 00:43:09,050 --> 00:43:12,770 ju keni një email të ri, ajo nuk ka duan për të rindërtuar tërë pemë. 971 00:43:12,770 --> 00:43:16,430 Përkundrazi, ai dëshiron për të gjetur nyjen në pemë që përfaqëson kutinë tuaj 972 00:43:16,430 --> 00:43:18,580 dhe vetëm futur një nyje të re. 973 00:43:18,580 --> 00:43:24,640 >> Pra, shumë e ngjashme me pset pesë, ku ju kishte për të futur nyjet në një tabelë hash, 974 00:43:24,640 --> 00:43:28,410 në mënyrë të ngjashme e bën Google, nëpërmjet Kodi JavaScript që ajo ka shkruar: 975 00:43:28,410 --> 00:43:31,890 Traverse kësaj peme, të kuptoj se ku është se një pjesë inbox e dritares, 976 00:43:31,890 --> 00:43:33,440 dhe pastaj futur një rresht të ri. 977 00:43:33,440 --> 00:43:37,460 Dhe një rresht i ri thjesht do të thotë një ose më shumë nyje të reja në një pemë. 978 00:43:37,460 --> 00:43:41,340 >> Dhe kështu AJAX është kjo teknikë që lejon për pikërisht këtë. 979 00:43:41,340 --> 00:43:44,440 Pasi të keni vizituar një URL, megjithatë çmendur kohë është, 980 00:43:44,440 --> 00:43:46,472 dhe pasi faqja ka qenë i ngarkuar, ju prapë mund të 981 00:43:46,472 --> 00:43:48,430 kap më shumë dhënat nga internet-- nëse kjo është 982 00:43:48,430 --> 00:43:52,460 një email ose një tjegull e dalin nga harta rrëmbej atë prapa skenave 983 00:43:52,460 --> 00:43:55,290 dhe pastaj futur atë në faqen e në mënyrë që human nuk ka vërtetë 984 00:43:55,290 --> 00:43:56,910 duhet të prisni për të. 985 00:43:56,910 --> 00:43:58,980 >> Facebook Messenger punon në të njëjtën mënyrë. 986 00:43:58,980 --> 00:44:01,562 Çdo numër i websites-- tjera oh, në të vërtetë, edhe kjo. 987 00:44:01,562 --> 00:44:04,270 Unë do të thotë, kjo është, sinqerisht, lloj i një funksion i bezdisshëm këto ditë. 988 00:44:04,270 --> 00:44:07,500 Nëse unë të fillojnë kërkimin për cats-- këtë është lloj i një user experience tmerrshme. 989 00:44:07,500 --> 00:44:08,990 Ajo thjesht fillon në kërkim për mua. 990 00:44:08,990 --> 00:44:10,050 E pra çfarë është ajo duke bërë? 991 00:44:10,050 --> 00:44:12,920 URL nuk ka ndryshuar me të vërtetë që kur kam filluar typing. 992 00:44:12,920 --> 00:44:17,330 Por, çfarë po ndodh Përtej wire-- OK, hmm interesante. 993 00:44:17,330 --> 00:44:20,470 Çfarë po ndodh Përtej tela këtu vetëm merr weirder. 994 00:44:20,470 --> 00:44:21,090 >> NE RREGULL. 995 00:44:21,090 --> 00:44:24,670 Pra më lejoni të shkoj përpara dhe të inspektojë element dhe të shkojnë në tab Rrjeti 996 00:44:24,670 --> 00:44:27,040 dhe të përpiqet të bëjë këtë teknik dhe më pak për macet. 997 00:44:27,040 --> 00:44:32,595 Si unë lloji, fjalë për fjalë, macet and-- çfarë po ndodh 998 00:44:32,595 --> 00:44:37,710 per-- Unë nuk jam duke shkuar për të klikoni atë. 999 00:44:37,710 --> 00:44:38,210 Në rregull. 1000 00:44:38,210 --> 00:44:44,280 Kështu që këtu poshtë, çfarë po ndodh çdo herë unë lloji një karakter, me sa duket? 1001 00:44:44,280 --> 00:44:45,000 Si, niveli i ulët? 1002 00:44:45,000 --> 00:44:47,860 Çfarë po ndodh me secilin nga ata karaktere Unë jam i shtypur në tastierën e mia? 1003 00:44:47,860 --> 00:44:48,359 Po? 1004 00:44:48,359 --> 00:44:50,950 Audienca: [padëgjueshme]. 1005 00:44:50,950 --> 00:44:52,340 >> DAVID Malan: Pikërisht. 1006 00:44:52,340 --> 00:44:55,600 Secila prej këtyre personazheve është duke shkuar për të Google, një në një kohë. 1007 00:44:55,600 --> 00:44:58,490 Ata po ndërtojnë një varg në serverin e tyre që përfaqëson 1008 00:44:58,490 --> 00:44:59,936 çdo gjë që unë kam shtypur në deri më tani. 1009 00:44:59,936 --> 00:45:01,810 Dhe çdo herë që unë lloji tjetër karakter, ata 1010 00:45:01,810 --> 00:45:04,530 përdorin salcë e tyre e fshehtë e një kërko algorithm dhe të kuptoj se, 1011 00:45:04,530 --> 00:45:07,370 nënkupton ai këtë faqe cat ose kjo faqe mace apo si? 1012 00:45:07,370 --> 00:45:10,620 Pra, në një kuptim, ajo siguron mua me një përvojë më të mirë në atë që unë nuk e bëj edhe 1013 00:45:10,620 --> 00:45:11,860 duhet për të përfunduar mendimin tim. 1014 00:45:11,860 --> 00:45:14,440 Dhe me të vërtetë, kjo është një e dobishme gjë, autocomplete në përgjithësi. 1015 00:45:14,440 --> 00:45:17,690 Nëse algoritme e tyre janë mjaft të mira dhe nëse kërkimet e mia janë mjaft të dukshme, 1016 00:45:17,690 --> 00:45:19,300 Unë nuk duhet të shkruani të gjithë fjalën. 1017 00:45:19,300 --> 00:45:22,110 Ata do të më thoni se çfarë ajo po unë në fakt jam në kërkim për. 1018 00:45:22,110 --> 00:45:25,940 Pra, çfarë Google quan çastit Kërkimi është vetëm duke përdorur AJAX, 1019 00:45:25,940 --> 00:45:30,820 duke përdorur kodin që u lejon atyre për të kërkuar Përmbajtja shtesë nëpërmjet një shfletues web 1020 00:45:30,820 --> 00:45:34,026 në prapaskenë duke përdorur këtë gjuhë e re, JavaScript. 1021 00:45:34,026 --> 00:45:35,400 Pra, ne kemi disa minuta majtë. 1022 00:45:35,400 --> 00:45:37,710 Dhe më lejoni të thërras buddy tim Colton deri në skenë, 1023 00:45:37,710 --> 00:45:40,090 pasi ajo dukej veçanërisht fun hera e fundit 1024 00:45:40,090 --> 00:45:42,290 për të futur një teknologji se disa prej jush 1025 00:45:42,290 --> 00:45:44,769 kanë shprehur interes në për projekte finale. 1026 00:45:44,769 --> 00:45:47,310 Ne menduam se do të jetë kënaqësi për të sjellë deri vullnetar, edhe pse, sot 1027 00:45:47,310 --> 00:45:50,074 për të treguar ju një shtesë në kjo që lejon ju, duke filluar vërtet, 1028 00:45:50,074 --> 00:45:50,990 Unë pashë këtë dorë të parë. 1029 00:45:50,990 --> 00:45:52,900 Eja up. 1030 00:45:52,900 --> 00:45:53,560 Bërë shumë mirë. 1031 00:45:53,560 --> 00:45:55,035 Punë e mirë. 1032 00:45:55,035 --> 00:45:57,410 Unë jam duke shkuar për të projektuar këtë në ekran në një moment të vetëm. 1033 00:45:57,410 --> 00:45:58,150 Si e keni emrin për të gjithë? 1034 00:45:58,150 --> 00:45:59,180 >> EFA: Unë jam 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: Po. 1039 00:46:00,730 --> 00:46:01,250 >> DAVID Malan: Nisë për të parë ju. 1040 00:46:01,250 --> 00:46:01,600 Në rregull. 1041 00:46:01,600 --> 00:46:02,590 Më lejoni të merrni këtë të gatshme. 1042 00:46:02,590 --> 00:46:04,423 Ejani në më shumë të mesme me Colton këtu. 1043 00:46:04,423 --> 00:46:07,050 Çfarë Colton ka në duart e tij sot është një telekomandë. 1044 00:46:07,050 --> 00:46:10,440 Pra, në vend se vetëm të qëndrojë aty në një tre-dimensionale botën sy rreth e rrotull 1045 00:46:10,440 --> 00:46:14,080 siç bëri Colton, tani mund Efa në fakt ecin përreth duke shkuar lart, 1046 00:46:14,080 --> 00:46:16,689 poshtë, majtas, dhe të djathtë si një Nintendo ose Xbox kontrollues. 1047 00:46:16,689 --> 00:46:18,230 EFA: Unë do të bie në skenë. 1048 00:46:18,230 --> 00:46:20,500 DAVID Malan: Unë do të qëndrojnë afërsisht mbi këtu. 1049 00:46:20,500 --> 00:46:21,991 Por kjo është një rrezik. 1050 00:46:21,991 --> 00:46:22,490 NE RREGULL. 1051 00:46:22,490 --> 00:46:25,690 Pra shkoni përpara dhe të vënë ato në. 1052 00:46:25,690 --> 00:46:29,315 Më lejoni të shkoj përpara dhe kaloni në ekran këtu. 1053 00:46:29,315 --> 00:46:30,670 Më lejoni të zbehtë dritat. 1054 00:46:30,670 --> 00:46:32,780 Dhe Colton, më lejoni vijnë të qëndrojnë pranë teje. 1055 00:46:32,780 --> 00:46:35,520 >> A doni për të shpjeguar këtu me mic çfarë jemi duke bërë? 1056 00:46:35,520 --> 00:46:36,380 Këtu ju shkoni. 1057 00:46:36,380 --> 00:46:37,280 >> COLTON: Sigurisht. 1058 00:46:37,280 --> 00:46:39,980 Deri tani ne jemi ngarkimit deri Oculus, 1059 00:46:39,980 --> 00:46:43,070 I guess operating-- nuk veprojnë sistem, por programi kryesor, ku 1060 00:46:43,070 --> 00:46:46,630 ju mund të hyni të gjitha lojrat dhe Apps që janë në bibliotekën tuaj. 1061 00:46:46,630 --> 00:46:50,060 Deri tani, ajo duhet të them trokitje e lehtë touchpad për të filluar. 1062 00:46:50,060 --> 00:46:53,430 Touchpad do të jetë mbi anën e djathtë të kufje. 1063 00:46:53,430 --> 00:46:54,569 Pra shkoni përpara dhe tap-- 1064 00:46:54,569 --> 00:46:55,110 EFA: Oh, njeri. 1065 00:46:55,110 --> 00:46:56,443 DAVID Malan: Yeah, ju shkoni atje. 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 Cilësia Efa është duke parë është e cilësisë shumë më e lartë. 1068 00:47:02,460 --> 00:47:03,831 Ky është vetëm Wi-Fi këtu. 1069 00:47:03,831 --> 00:47:05,580 COLTON: Pra, çfarë ju jeni do të dëshironi të bëni 1070 00:47:05,580 --> 00:47:08,350 po shikoni drejt krye e djathtë të ekranit. 1071 00:47:08,350 --> 00:47:10,420 Po, kjo lojë në të djathtë shumë të lartë. 1072 00:47:10,420 --> 00:47:14,780 Dhe pastaj kur ju jeni zgjedhur ajo, prekni touchpad përsëri. 1073 00:47:14,780 --> 00:47:17,010 Unë mendoj Dreadhalls saj. 1074 00:47:17,010 --> 00:47:20,820 Dhe pastaj këtu është a-- këtu, le të Më të mbajtur syzet për ju. 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> Kështu që unë sapo i dha atij një kontrollues. 1077 00:47:25,790 --> 00:47:28,886 Kështu që tani ai mund të kontrollit të lojës. 1078 00:47:28,886 --> 00:47:30,510 Ai mund të lëvizë dhe stuff like that. 1079 00:47:30,510 --> 00:47:31,968 Pra shkoni përpara dhe të kërkoni deri në krye. 1080 00:47:31,968 --> 00:47:33,640 Ju duhet të shikoni New lojë. 1081 00:47:33,640 --> 00:47:36,310 Pra shkoni përpara dhe ju mund ta bëni atë. 1082 00:47:36,310 --> 00:47:39,320 Tani, ju duhet të jetë në gjendje për të kontrolluar veten me kontrollues, 1083 00:47:39,320 --> 00:47:43,860 si dhe, sa më shpejt loja ngarkesa deri këtu. 1084 00:47:43,860 --> 00:47:46,356 Kjo mund të jetë pak e frikshme. 1085 00:47:46,356 --> 00:47:47,300 >> EFA: Tani më thoni. 1086 00:47:47,300 --> 00:47:50,132 NE RREGULL. 1087 00:47:50,132 --> 00:47:51,080 >> COLTON: Në rregull. 1088 00:47:51,080 --> 00:47:52,650 Pra konfirmoj që ju mund të lëvizë. 1089 00:47:52,650 --> 00:47:52,750 NE RREGULL. 1090 00:47:52,750 --> 00:47:53,583 Ju mund të lëvizë. 1091 00:47:53,583 --> 00:47:54,300 Përsosur. 1092 00:47:54,300 --> 00:47:56,470 Pra, nëse ju shikoni poshtë, ju keni një hartë. 1093 00:47:56,470 --> 00:47:58,170 Map ju tregon se ku je. 1094 00:47:58,170 --> 00:47:59,720 Ju mund të shikoni nëpër dhomë. 1095 00:47:59,720 --> 00:48:01,440 Ju mund plotësisht të kthehet rreth. 1096 00:48:01,440 --> 00:48:02,128 Po, pikërisht. 1097 00:48:02,128 --> 00:48:02,627 Kthehet rreth. 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> Kështu që shikoni në të majtë tuaj. 1100 00:48:07,125 --> 00:48:09,875 Unë mendoj se ka diçka që ju mund të marr në një fuçi në dhomë. 1101 00:48:09,875 --> 00:48:11,709 >> EFA: Si mund të merrni hartë nga rruga? 1102 00:48:11,709 --> 00:48:12,375 COLTON: Shiko lart. 1103 00:48:12,375 --> 00:48:12,980 Vetëm shikoni lart. 1104 00:48:12,980 --> 00:48:13,480 Në rregull. 1105 00:48:13,480 --> 00:48:13,765 Nuk ju shkoni. 1106 00:48:13,765 --> 00:48:15,181 Tani shkoni përpara dhe vetëm të kthehet rreth. 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 Kështu që shikoni më larg në të majtë tuaj. 1109 00:48:24,620 --> 00:48:25,530 Mbani lëviz majtas. 1110 00:48:25,530 --> 00:48:26,960 Mbani në kërkim largua. 1111 00:48:26,960 --> 00:48:27,541 Do të mbajë. 1112 00:48:27,541 --> 00:48:28,040 Po. 1113 00:48:28,040 --> 00:48:28,720 >> EFA: Oh, në këtë mënyrë. 1114 00:48:28,720 --> 00:48:29,261 >> COLTON: Po. 1115 00:48:29,261 --> 00:48:30,999 Ecni në drejtim të tij me kontrollues. 1116 00:48:30,999 --> 00:48:31,540 Nuk ju shkoni. 1117 00:48:31,540 --> 00:48:32,790 Tani ajo duhet të them të vini ta merrni. 1118 00:48:32,790 --> 00:48:33,360 Nuk ju shkoni. 1119 00:48:33,360 --> 00:48:34,290 Marr atë. 1120 00:48:34,290 --> 00:48:35,550 Në rregull. 1121 00:48:35,550 --> 00:48:38,286 Tani, le të dal nga kjo dhomë. 1122 00:48:38,286 --> 00:48:42,209 Shkoni përpara dhe të ecin në atë derë. 1123 00:48:42,209 --> 00:48:45,000 Pra, ju jeni do të hold-- ajo thotë se mbajtur butonin për të detyruar atë të hapur. 1124 00:48:45,000 --> 00:48:46,333 Pra shkoni përpara dhe të mbajë butonin. 1125 00:48:46,333 --> 00:48:48,250 Po, duke e detyruar atë të hapur. 1126 00:48:48,250 --> 00:48:48,750 Në rregull. 1127 00:48:48,750 --> 00:48:49,410 Punë e mirë. 1128 00:48:49,410 --> 00:48:50,826 Tani ne jemi duke ecur nga dhoma. 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 Kështu që unë jam duke shkuar për të lënë pjesën tjetër deri për ju dhe të shohim se çfarë ju gjeni. 1131 00:49:01,366 --> 00:49:02,865 EFA: Unë nuk jam duke shkuar në dhomë të errët. 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 Oh prit. 1134 00:49:07,815 --> 00:49:09,314 Tani unë kam për të shkuar poshtë sallë të errët? 1135 00:49:09,314 --> 00:49:10,785 OK, unë jam duke shkuar prapa [e padëgjueshme]. 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON: Në rregull. 1138 00:49:16,270 --> 00:49:17,560 Disa artikuj më shumë për të marr. 1139 00:49:17,560 --> 00:49:19,370 Duket sikur disa monedha. 1140 00:49:19,370 --> 00:49:22,242 Kjo është një lock vini. 1141 00:49:22,242 --> 00:49:24,200 Pra, nëse ju gjeni një të mbyllur derë, ju mund të përdorni atë. 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 A jeni i frikësuar? 1144 00:49:28,380 --> 00:49:29,371 >> EFA: Ende. 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-- vërtet. 1148 00:49:35,497 --> 00:49:37,330 Vetëm të pretendojë se ju jeni në fakt duke qëndruar atje. 1149 00:49:37,330 --> 00:49:39,580 Dhe në qoftë se ju kthehet around-- ju keni marrë për të mësohen me të. 1150 00:49:39,580 --> 00:49:40,752 Por kjo ka kuptim. 1151 00:49:40,752 --> 00:49:43,960 DAVID Malan: Dhe ndërsa Efa vazhdon të luajnë, pasi ne mund të bëjmë këtë gjatë gjithë ditës, 1152 00:49:43,960 --> 00:49:45,381 ne të gjithë mund tip-shputë këtu. 1153 00:49:45,381 --> 00:49:48,130 Por ne nuk kemi dy palë të tjera, në qoftë se ju dëshironi të dalë dhe të luajnë. 1154 00:49:48,130 --> 00:49:49,980 Përndryshe, ne do të shohim ju e ardhshëm të mërkurën. 1155 00:49:49,980 --> 00:49:51,354 Faleminderit për vullnetarët tonë sot. 1156 00:49:51,354 --> 00:49:52,101 [Duartrokitje] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [MUSIC - "Seinfeld TEMA"] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 SPEAKER 1: E pra, unë jam vënë një PL ri mali në. 1161 00:50:00,180 --> 00:50:01,800 Unë vetëm ndryshuar OLPF-- 1162 00:50:01,800 --> 00:50:03,980 >> SPEAKER 2: Pra, çfarë saktësisht jeni duke bërë? 1163 00:50:03,980 --> 00:50:07,063 >> SPEAKER 1: E pra, secili prej these-- këtu, unë do t'ju tregoj një në këtë këtu. 1164 00:50:07,063 --> 00:50:08,690 Ju mund të shihni atë të drejtë këtu. 1165 00:50:08,690 --> 00:50:09,510 >> SPEAKER 3: Unë mendoj se unë jam i mirë me këto. 1166 00:50:09,510 --> 00:50:09,933 Ju doni disa më shumë? 1167 00:50:09,933 --> 00:50:11,325 >> SPEAKER 4: Jo, unë jam i mirë. [Padëgjueshme]. 1168 00:50:11,325 --> 00:50:12,200 >> SPEAKER 3: Jo, [e padëgjueshme]. 1169 00:50:12,200 --> 00:50:12,700 Kanë disa. 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 SPEAKER 1: ngjyra të ndryshme. 1172 00:50:22,290 --> 00:50:22,890 SPEAKER 2: OK. 1173 00:50:22,890 --> 00:50:26,690 SPEAKER 1: Pra, në fund të fundit çfarë ajo nuk është ajo rregullon ngjyrën of--