[Музика свира] ПРЕДСЕДНИК 1: Па, ту смо, последња П скуп у ЦС50. Честитајте себе из потребе доћи до сада, јер ваша прва здраво светови и штампање пирамиде за Марио. Направили сте сајт прошле недеље. И ми ћемо бити доношење још један ове недеље, онај који вам омогућава да возити око кампуса Харвард, брање уп чланови ЦС50 особља, и доводећи их назад на своје стамбене куће. Сада прошле недеље смо радили у ПХП, серверској страни језик. За овај скуп П, ми смо упознавање на ЈаваСцрипт, што је клијент страни језик. Па хајде да погледамо неке од дистрибуција код које је пружена ти за овај скуп П. У ЈаваСцрипт фолдеру, тамо ће бити гомила ЈаваСцрипт фајлова. Има буилдингс.јс, који садржи низ зграда око Харварду кампус, са њиховим информацијама и положај. Хоусес.јс је низ Харварду стамбене куће, са својим географске ширине и географске дужине. Пассенгерс.јс садржи низ путника - чланови особља ЦС50 - да ћете бити враћа на њихове стамбене куће. Матх3Д.јс, који садржи много функције могу да се ураде са кретањем. Ако сте математички оријентисан, онда сам вам добродошлицу да погледам. Али ти не треба да разумеју све тамо. Схуттле.јс, која се бави покрет шатл-а. И индек.хтмл је почетна страна где све дешава, стварно, где корисник је у интеракцији са сајта. Сервице.цсс је ЦСС стила, која, поред Твиттер Боотстрап библиотека, контроле како индек.хтмл изглед. А онда имамо и сервице.јс, који садржи функције за сервисне шатл. И овде је где идете да се пуњење у неким од ДОС. Сада ћемо да погледамо и објеката асоцијативни низови у ЈаваСцрипт, који за све намере и сврхе су заменљиви. Да сам хтео да направи објекат променљиву зове штапић, ја бих прогласи га. И унутар тих заграда бих наведите језгро је једнорог. Дрво је трешња. И дужина је 13. Сада такође можете да приступите вредности објеката користе асоцијативни низ нотација. Дакле штапић индекс језгро, ја могу поставити који једнако једнорог, или проверите да, ако је потребно. Или могу користити оператор дот. Штапић тачка дрво трешње једнако, и тако даље, и тако даље. Па видиш да асоцијативни низови и објекти у ЈаваСцрипт ће бити заменљиви, а воља долазе у прилично згодно. Онда видимо низ зграда у буилдингс.јс. Опет, низ објеката. Да сам хтео да направи низ најбоље зграде на Харвард универзитету, затим Ја бих то учинити на следећи начин. Користећи овај објекат нотацију, где Ја држати корена, име, адреса, географска ширина, географска дужина и за сваки један грађевински објекат. Хајде да причамо о брзо променљивих у ЈаваСцрипт. Као ПХП, ЈаваСцрипт променљиве су слабо или лабаво откуцан. Да бисте креирали локалне променљиве, ви префикс име променљиве са В-А-Р, вар. Сада у ЈаваСцрипт, функције ће ограничавају обим променљивих. Дакле, ако имате локалну променљиву унутар функција, онда друге функције не могу да приступе. Али за разлику од Ц, петље и услови не ограничавају обим променљиве. Дакле, чак и ако га прогласи унутар услов, цела функција ће имају приступ њему. Сада без вар, променљива ће бити глобална. Дакле, ако сте само прогласи име и доделите вредност, онда то променљива ће бити глобални променљива у ЈаваСцрипт. Сада у кућама, имамо асоцијативне низ типа кућа објеката, где свака кућа је само ширина и географске дужине. Онда имамо путнике низ, који је низ од типа објекта путника. Дакле, сваки путник има име, име, и кућа. Обратите пажњу да сам видим типа путник, који заправо само значи да сваки објекат има Исти кључ вредност пар. Дакле, сваки објекат типа путника има корисничко име, име, и кућа. Дакле, шта нам је потребно да учинити за П сет? Па, морамо да омогући корисницима да изаберете до особља, да бисте приказали све чланови особља који су тренутно у наш шатл, и да их оставим. И онда ми такође ћемо говорити о екстра функције које се могу реализовати за шатл П скуп. Али, хајде да разговарамо о пицкуп први. Лица ЦС50 особља су засађено широм кампуса, где сваки лице је имплементиран као место знак на 3Д земљи, и као маркер на карте 2Д. Дакле, када корисник кликне на камионет дугме, желимо да додате у близини путници на шатлу. И ми такође желимо да уклоните своје место означи из света, и уклоне своје маркер из карте, што указује да они су сада у нашој шатлу. Па како да открије да ли путници су у домету нашег шатлу? Па, функција дистанца - па шатл тачка растојање, пролази у географске ширине и дужине, ће израчуна удаљеност од струје Положај трансфер до указују да наведете да са дат географске ширине и дужине. Дакле, можете да користите ово за израчунавање удаљеност од шатла до путника. Али како да знате где путници су? Па, то је где ћемо морати да измените населити функцију. Населити посланичка места сви чланови особља и путници у свету, и у карте, али не чувате своју локацију. Дакле, можда можете да сачувате своје поставите ознаке и маркере у неком глобалном низу. Сада већ постоји глобални низ чување информација од путника. Низ путници складишти сваки Име сувозача и њихова кућа. Дакле, можда можете да додате неколико параметара ту да путничким објектима. Да бисте нам помогли да открију све путнике домету нашег шатл, хајде да петља кроз све путнике у низу путника. За петље у ЈаваСцрипт може да изгледа овако нешто, веома слично оне за петље у Ц или можемо да користимо алтернатива за структуру петље. За вар и у низу, где сам ће и даље бити индекс. Али ви не морате да одредите дужина низа тачака стање, и ја плус плус. Локација Сваки путник је дао своје место знака. Али место жиг није ширине и географске дужине. Морамо да приступи тим параметрима по добијање геометрије, помоћу ГЕТ геометрији на месту знака. И онда кад имамо геометрију, добијање или географску ширину или географске дужине, користећи те функције. Дакле, сада знамо како да се открије да ли путници су у оквиру Асортиман наших шатлу. Када имамо те путнике, ми ћемо Желим да додате неке путнике који су унутар тог опсега. Ми желимо да им дозволи да хоп на, и сести на нашем шатл, али само ако имамо довољно простора за њих. Шатл дот седишта низ ће навести да ли су седишта празна, или ко је у том седишту. Дакле, ако седиште је празна, онда да седиште ће бити ништаван. Тако поновити преко седишта низа, проверу празних седишта, складиштење Путници у тих места до тебе немају више празних места. И нажалост, неки други путници ће морати да сачека следећи пут дође шатл около. Када су се на шатл, ми ћемо желети да скину ознаку место, које је њихова фотографија у 3Д свету. Да сам хтео да се уклони место марк п, онда бих се свим функцијама из моје земље, из Гоогле Еартх, а затим уклоните да одређеном месту означити помоћу функције ремовеЦхилд. Онда на крају, хајде да уклоните маркер, икона на карте за 2Д било путник који смо брање горе. Да бисте уклонили маркер, м, онда ћу само извршава м дот сетМап нулл. Урадите ово за све путнике унутар домета, и ви сте завршили камионет.