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