[Daqq tal-mużika] SPEAKER 1: Well, aħna qegħdin hawn, l-aħħar P sett fl CS50. Nifraħ yourselves milli jkollhom wasal s'issa peress ewwel bonjour tiegħek Dinjiet u stampar piramidi għall Mario. Inti għamilt websajt aħħar ġimgħa. U aħna qed tmur li jkun qed jagħmel xulxin din il-ġimgħa, wieħed li jippermetti li inti sewqan madwar il-kampus Harvard, picking up membri tal-persunal CS50, u jġibhom lura għall tagħhom djar residenzjali. Issa aħħar ġimgħa ħdimna fil PHP, lingwa server sekondarji. Għal dan is-sett P, aħna qed jkollna introdotti li JavaScript, li huwa lingwa naħa tal-klijent. Mela ejja tagħti ħarsa lejn uħud mill- kodiċi ta 'distribuzzjoni li mogħtija lill inti għal dan is-sett P. Fil-folder JavaScript, se jkun hemm jkun mazz ta 'JavaScript fajls. Hemm buildings.js, li fih firxa tal-bini madwar Harvard kampus, bl-informazzjoni tagħhom u l-pożizzjoni. Houses.js firxa ta 'Harvard djar residenzjali, bil tagħhom latitudnijiet u lonġitudnijiet. Passengers.js fih firxa tal-passiġġieri - il-membri tal-persunal CS50 - li inti ser tkun li tressaq lura lejn djar residenzjali tagħhom. Math3D.js, li fih ħafna ta ' funzjonijiet li għandhom x'jaqsmu mal-moviment. Jekk int matematikament istess fehma, imbagħad I welcome inti tagħti ħarsa. Imma inti m'għandekx bżonn li wieħed jifhem kollox fil hemmhekk. Shuttle.js, li jittratta moviment tal-shuttle tal. U index.html huwa l-home page fejn kollox jiġri, verament, fejn il- utent huwa interazzjoni mal-sit. Service.css hija l-karta tal-istil CSS, li, minbarra l-Twitter Librerija bootstrap, kontrolli kif jistenna index.html. U allura aħna wkoll ikollhom service.js, li fih il-funzjonijiet ta 'servizz għall- l-shuttle. U hawnhekk fejn int ser tkun timla xi wħud mill-li dos. Issa ejja tagħti ħarsa lejn oġġetti u arrays assoċjattiva fl JavaScript, li għal finijiet u effetti kollha huma interkambjabbli. Jekk jien ridt li tagħmel oġġett varjabbli imsejħa wand, nixtieq jiddikjaraha. U ġewwa dawk braces kaboċċi nixtieq jispeċifikaw il-qalba hija Unicorn. L-injam huwa ċirasa. U t-tul huwa ta '13. Issa I jistgħu wkoll aċċess valuri ta 'oġġetti li jużaw notazzjoni firxa assoċjattiva. Qalba indiċi So wand, I tista 'tistabbilixxi li ugwali għal Unicorn, jew jivverifika li, jekk għandi bżonn. Jew I jistgħu jużaw l-operatur dot. Wand dot injam ugwali taċ-ċirasa, u l-bqija, u ibqa 'sejjer hekk. Allura inti tara li arrays assoċjattiva u oġġetti fl JavaScript ser ikunu interkambjabbli, u se jaqgħu fil pjuttost handy. Imbagħad naraw firxa ta 'bini fil buildings.js. Għal darb'oħra, firxa ta 'oġġetti. Jekk jien ridt li jagħmlu firxa ta 'l-aħjar bini fuq Harvard kampus, allura I jagħmilha kif ġej. Bl-użu dan l-oġġett notazzjoni, fejn I jaħżnu l-għeruq, l-isem, l-indirizz, latitudni, lonġitudni u għal kull oġġett bini wieħed. Ejja malajr nitkellmu dwar varjabbli fl JavaScript. Bħal PHP, JavaScript varjabbli huma dgħajjef jew laxk ittajpjat. Biex jinħoloq varjabbli lokali, inti prefiss l-isem varjabbli mal-V-A-R, var. Issa fl JavaScript, il-funzjonijiet se jillimita l-ambitu ta 'varjabbli. Mela jekk għandek varjabbli lokali fi ħdan , funzjoni funzjonijiet allura oħra ma jistgħux ikollhom aċċess għaliha. Iżda b'differenza C, loops u kundizzjonijiet ma jillimita l-ambitu ta 'varjabbli. Għalhekk anki jekk inti tiddikjaraha ġewwa ta ' kundizzjoni, il-funzjoni kollha se jkollhom aċċess għaliha. Issa mingħajr var, il-varjabbli se jkun globali. Mela jekk inti biss tiddikjara l-isem u assenjat valur, allura dak il-varjabbli se jkun fattur varjabbli globali fl JavaScript. Issa fid-djar, għandna assoċjattiva firxa ta 'oġġetti tat-tip house, fejn kull dar huwa biss latitudni u lonġitudni. Imbagħad għandna l-passiġġieri array, li hija array tat-tip oġġett passiġġieri. Allura kull passiġġier għandu username, isem, u dar. Avviż li jien jaraw tat-tip passiġġieri, li verament ifisser biss li kull oġġett għandu l- istess par valur ewlieni. Allura kull oġġett ta 'tip passiġġier għandu isem l-utent, l-isem, u dar. Allura dak li għandna bżonn li jagħmlu għall-P-sett? Well, għandna bżonn li jippermettu lill-utenti li pick up membri tal-persunal, li jintwerew kollha il-membri tal-persunal li bħalissa huma fil- shuttle tagħna, u biex qatra minnhom off. U allura aħna ser jitkellmu wkoll dwar extra karatteristiċi li jistgħu jiġu implimentati għal l-shuttle P sett. Imma ejja nitkellmu dwar Pickup ewwel. L-uċuħ tal-persunal CS50 kienu mħawla kollha fuq il-kampus, fejn kull wiċċ hija implimentata bħala trade post fuq l-earth 3D, u bħala markatur fuq il-mappa 2D. Allura meta l-utent klikks l-Pickup buttuna, irridu żid qrib passiġġieri fil-shuttle. U aħna rridu wkoll biex jitneħħew il-post tagħhom jimmarkaw mid-dinja, u neħħi tagħhom markatur minn mappa, li jindika li dawn qed fil-shuttle tagħna issa. Allura kif nistgħu jiskopru jekk il-passiġġieri huma fil-firxa ta 'shuttle tagħna? Ukoll, id-distanza funzjoni - hekk shuttle dot distanza, li jgħaddi fil- il-latitudni u lonġitudni, se jikkalkulaw id-distanza mill-kurrent pożizzjoni tal-shuttle għall- punt li inti tispeċifika ma 'dak mogħtija latitudni u lonġitudni. Allura inti tista 'tuża dan biex tikkalkula l- distanza mill-shuttle għall- passiġġieri. Imma kif tkun taf fejn il-passiġġieri huma? Ukoll, li fejn aħna ser ikollhom jeditjaw il-funzjoni timla. Timla postijiet kollha tal-membri tal-persunal u l-passiġġieri fid-dinja, u fil-mappa, iżda ma jaħżnu post tagħhom. Allura forsi inti jista 'jaħżen tagħhom poġġi marki u markers f'xi firxa globali. Issa hemm diġà firxa globali ħażna ta 'informazzjoni mill-passiġġieri. Il-ħwienet passiġġieri array kull l-isem tal-passiġġier u d-dar tagħhom. Allura forsi inti tista 'żżid ftit parametri hemm biex l-oġġetti tal-passiġġieri. Biex tgħinna jiskopru l-passiġġieri fil-firxa ta 'shuttle tagħna, ejja loop kollha permezz tal-passiġġieri fil-firxa passiġġieri. A għall-loop fil JavaScript tista 'tidher xi ħaġa bħal din, simili ħafna għal dawk loop fil C. Jew nistgħu jużaw alternattiva għall-istruttura loop. Għal i var fil-firxa, fejn I xorta se tkun l-indiċi. Imma inti m'għandekx bżonn li jispeċifikaw il-firxa dot tul kundizzjoni, ui plus plus. Post ta 'kull passiġġier huwa mogħtija mill-marka post tagħhom. Iżda l-marka post ma jkunx l- latitudni u l-lonġitudni. Għandna li jaċċedu għal dawk il-parametri minn jkollna l-ġeometrija, bl-użu get ġeometrija dwar it-trade post. U mbagħad darba għandna l-ġeometrija, jkollna jew il-latitudni jew l- lonġitudni, jużaw dawk il-funzjonijiet. Allura issa nafu kif jiskopru jekk passiġġieri huma fi ħdan firxa ta 'shuttle tagħna. Ladarba għandna dawn il-passiġġieri, aħna ser tixtieq iżżid xi passiġġieri li huma f'dik il-medda. Aħna rridu li jippermettulhom li ħops fuq, u tieħu siġġu fuq shuttle tagħna, iżda biss jekk ikollna biżżejjed spazju għalihom. Il-firxa sedili shuttle dot se jindikaw jekk sedili huma vojta, jew li s f'dak is-sedil. Mela jekk sedil ikun vojt, imbagħad dak is-sedil tkun nulla. Allura jtenni fuq il-firxa sedili, verifika għall postijiet vojta, il-ħażna passiġġieri fil dawk is-sedili sakemm inti m'għandhom l-ebda sedili aktar vojta. U sfortunatament, xi passiġġieri oħra se jkollhom għalfejn jistennew l- ħin li jmiss l-shuttle jiġi madwar. Ladarba jaslu fuq il-shuttle, aħna ser rridu biex jitneħħew marka post tagħhom, li huwa ritratt tagħhom fid-dinja 3d. Jekk jien ridt li tneħħi marka post p, allura nixtieq nikseb kollha tal-karatteristiċi minn earth tiegħi, mill-Dinja Google, u mbagħad neħħi dak il-post speċifiku marka billi tuża l-funzjoni removeChild. Imbagħad fl-aħħar, ejja tneħħi l-markatur, l-ikona fuq il-mappa 2D għal kwalunkwe passiġġieri li aħna picking up. Biex tneħħi marker, m, allura jien ser biss tesegwixxi m dot null setMap. Agħmel dan għal kull passiġġier fil-firxa, u inti ħadthom lest Pickup.