[Mūzikas atskaņošanai] SPEAKER 1: Nu, šeit mēs esam, pēdējā P kopa ar CS50. Apsveikt sevi no tā, nonākusi tik tālu, jo savu pirmo sveiki pasaulēm un izdrukāšana piramīdas Mario. Jūs, kas mājas lapā pagājušajā nedēļā. Un mēs ejam, dod vēl vienu šonedēļ, viens, kas ļauj vadīt ap Hārvardas universitātes, izvēloties līdz CS50 darbinieki, un apvienojot tos atpakaļ uz savu dzīvojamās mājas. Tagad pagājušajā nedēļā mēs strādājām PHP, servera puses valoda. Šim P kopumu, mēs esam kļūst ieviesti JavaScript, kas klienta puses valoda. Tātad, pieņemsim to apskatīt dažus no sadales kodu, kas ir sniegta jūs par šo P komplektu. Jo JavaScript mapē, tur būs būt ķekars JavaScript failus. Ir buildings.js, kas satur masīvs ēku ap Harvard Campus, ar to informāciju un amats. Houses.js ir masīvs Harvard dzīvojamās mājas, ar to platuma un garuma grādi. Passengers.js satur masīvs pasažieru - tad CS50 darbinieki - ka jūs celt atpakaļ viņu dzīvojamās mājas. Math3D.js, kas satur daudz funkcijas, ko darīt ar kustību. Ja jūs esat matemātiski domājošiem, tad es atzinīgi vērtēju jūs to apskatīt. Bet jums nav nepieciešams, lai izprastu viss tur. Shuttle.js, kas nodarbojas ar shuttle kustību. Un index.html ir mājas lapa, kur viss notiek, tiešām, ja Lietotājs mijiedarbojas ar vietu. Service.css ir CSS stila lapas, , kurš papildus uz čivināt Sāknēšanas bibliotēka, kontroles kā index.html izskatās. Un tad mums ir arī service.js, kas satur dienesta funkcijas maršruta autobuss. Un šeit ir, ja jūs esat būs Aizpildot kādu no to dos. Tagad pieņemsim apskatīt objektu un asociatīvas bloki Javascript, kas attiecībā uz visiem nolūkiem un ir savstarpēji aizvietojami. Ja es gribēju, lai objekta mainīgo sauc zizlis, es vēlētos jādeklarē. Un iekšpusē tiem cirtaini bikšturi es vēlētos norādiet kodols ir vienradzis. Koksne ir ķiršu. Un garums ir 13. Tagad es varu piekļūt arī vērtības objektu, izmantojot asociatīvā masīva notācija. Tāpēc zizlis indekss kodols, es varu iestatīt kas vienāda ar vienradzis, vai pārbauda, ​​vai, ja man vajag. Vai es varu izmantot dot operatoram. Zizlis dot koka vienāds ķiršu, un tā tālāk, un tā tālāk. Tātad jūs redzat, ka asociatīvas bloki un objekti JavaScript būs savstarpēji aizvietojami, un būs nonāk diezgan parocīgs. Tad mēs redzam virkni ēku in buildings.js. Atkal, masīvs objektiem. Ja es gribēju, lai masīvu labākajiem ēkas uz Hārvarda universitātes pilsētiņā, tad Es būtu to šādi. Izmantojot šo objektu apzīmējumu, ja Es glabāt saknes, nosaukumu, adresi, platuma un garuma par katru viena ēka objekts. Pieņemsim ātri runāt par mainīgajiem JavaScript. Piemēram, PHP, JavaScript mainīgie ir vāji vai brīvi drukāti. Lai izveidotu vietējās mainīgo, jums prefiksu mainīgā nosaukums ar V-A-R, var. Tagad JavaScript, funkcijas ierobežot mainīgo. Tātad, ja jums ir vietējās mainīgais laikā funkciju, tad citas funkcijas nevar piekļūt. Bet atšķirībā no C, cilpas un nosacījumi nav ierobežot mainīgo. Tātad, pat ja jums paziņo, ka tā iekšpusē nosacījums, visa funkcija tai piekļūt. Tagad bez VAR, mainīgais būs globāla. Tātad, ja jūs vienkārši atzīt vārdu un piešķirtu vērtību, tad mainīgais būs pasaules mainīgais JavaScript. Tagad mājas, mums ir asociatīvā masīvs mājas tipa objektiem, kur katrā mājā ir tikai platuma un garuma. Tad mums ir pasažieriem bloku, kas ir masīvs objekta veids pasažieri. Tātad, katram pasažierim ir lietotājvārdu, vārdu, un māja. Ievērojiet, ka es esmu redzēt tipa pasažieru, kas patiesībā nozīmē tikai to, ka katrs objekts ir pati galvenā vērtība pāri. Līdz ar to katrs objekts tipa pasažieris lietotāja vārds, vārds, un māja. Tātad, ko mums vajag darīt P komplektu? Nu, mums ir nepieciešams, lai ļautu lietotājiem izvēlēties up darbiniekiem, lai parādītu visas personāla locekļiem, kas pašlaik mūsu transfērs, un nomest tos off. Un tad mēs runāsim arī par papildu funkcijas, ko var īstenot, lai shuttle P komplektu. Bet parunāsim par pikaps pirmās. Par CS50 darbinieku sejas ir stādīt visā universitātes pilsētiņā, kur katra seja tiek īstenota kā vieta zīmi uz 3D zemes, un kā marķieris uz 2D kartē. Tātad, ja lietotājs noklikšķina uz pikaps pogu, mēs vēlamies, lai pievienotu tuvumā pasažieriem uz atspole. Un mēs arī vēlamies, lai izņemtu savu vietu iezīmēt no pasaules, un izņemiet to marķieris no kartes, kas norāda, ka viņi ir mūsu autobuss tagad. Tātad, kā mēs atklāt, ja pasažieri ir diapazonā no mūsu autobuss? Nu, funkcija attālums - tāpēc shuttle dot attālumu, kas iet platuma un garuma, būs aprēķināt attālumu no strāvas pozīcija transportu uz norāda, ka jūs norādāt ar to ņemot vērā, platuma un garuma. Tātad jūs varat izmantot šo, lai aprēķinātu attālums no atspole līdz pasažieri. Bet kā jūs zināt, kur pasažieriem ir? Nu, tas ir, ja mums nāksies rediģēt aizpildīt funkciju. Aizpildīt Vietas visi darbinieki un pasažieri uz pasauli, un uz kartes, bet nav saglabāt savu atrašanās vietu. Tāpēc varbūt jūs varat saglabāt savu izvietot zīmes un marķieri Dažās pasaules masīvā. Tagad jau ir globāla masīvs uzglabāt informāciju no pasažieriem. Pasažieri masīvs veikali katrs pasažiera vārds un viņu māja. Tāpēc varbūt jūs varat pievienot dažus parametrus tur pasažieru objektiem. Lai palīdzētu mums atklāt visus pasažierus diapazonā no mūsu transfērs, pieņemsim cilpa ar visiem pasažieru ar pasažieru masīvā. Lai cilpa JavaScript varētu izskatīties kaut kas līdzīgs šim, ir ļoti līdzīgi tiem, cilpa C. Vai mēs varam izmantot alternatīva cilpas struktūru. VAR i masīvs, kur es joprojām būs indekss. Bet jums nav nepieciešams norādīt masīvs dot garums stāvoklī, un es plus plus. Katra pasažiera atrašanās vieta ir ņemot vērā to vietu zīmes. Bet vietā zīme nav platuma un garuma. Mums ir piekļūt šiem parametrus kļūst ģeometriju, izmantojot get ģeometrija uz vietas zīmi. Un tad, kad mums ir ģeometrija, kļūst vai nu platuma vai garuma, izmantojot šo funkciju. Tātad tagad mēs zinām, kā noteikt, vai pasažieri atrodas klāstu mūsu autobuss. Pēc tam, kad mēs esam tos pasažierus, mēs vēlaties pievienot pasažieri, kas ir šajā diapazonā. Mēs vēlamies, lai ļautu viņiem apiņu, un veikt vietu uz mūsu transfērs, bet tikai ja mums ir pietiekami daudz vietas viņiem. Shuttle dot sēdekļi masīvs norādīt, vai sēdvietas ir tukšas, vai kurš šajā sēdeklī. Tātad, ja sēdeklis ir tukšs, tad ka vieta būs spēkā. Tāpēc atkārtot virs vietas masīvs, pārbaudot tukšu vietu, uzglabājot pasažieri uz šiem sēdekļiem, kamēr jūs nav nekādu vairāk tukšās vietas. Un diemžēl, jebkuri citi pasažieri būs jāgaida Nākamajā reizē shuttle nāk apkārt. Pēc tam, kad viņi saņem uz atspole, mēs gribam lai novērstu to vietu zīmi, kas ir viņu foto šajā 3D pasaulē. Ja es gribēju noņemt vietu zīmes p, tad es varētu saņemt visas funkcijas no manas zemes, no Google Earth, un tad noņemt, ka konkrētā vietā atzīmēt izmantojot removeChild funkciju. Tad visbeidzot, pieņemsim noņemiet marķieri, ikona uz 2D kartē jebkura pasažieru, kas mums ir pacelt. Lai noņemtu marķieris, m, tad es ņemšu vienkārši izpildīt m dot setMap null. Vai šis visu pasažieru diapazonā, un esat pabeidzis pikaps.