[MUSIC PLAYING] HOPARLÖR 1: Yaxşı, burada biz, CS50 son P set. Olan özünüzü təbrik edirəm bu günə qədər gəlib-ci ildən ilk salam aləmlərin və çap Mario piramidaları. Siz keçən həftə veb etdi. Və biz başqa bir edilməsi olacaq Bu həftə, bir sizə imkan verir ki, aldığınız, Harvard kampus ətrafında sürücü up CS50 heyəti üzvləri, onları geri gətirilməsi onların yaşayış evləri. İndi son həftə biz PHP işləyib bir server yan dil. Bu P dəst üçün, biz təqdim edirik bir olan JavaScript üçün klient dil. Beləliklə də bəzi nəzər salaq üçün təqdim etdiyi distribution kodu Bu P dəsti üçün. JavaScript qovluq var olacaq JavaScript faylları bir dəstə. Bir olan buildings.js var Harvard ətrafında binaların array onların informasiya ilə kampus, və mövqeyi. Houses.js Harvard bir sıra edir yaşayış evləri ilə onların en və uzunluq. Passengers.js bir şey sərnişin array - CS50 əməkdaşları - siz geri gətirilməsi lazımdır ki, onların yaşayış evləri. Bir çox ehtiva Math3D.js, hərəkəti ilə funksiyaları. Siz riyazi minded edirsinizsə, sonra mən sizə bir nəzər salamlayıram. Amma anlamaq üçün ehtiyac yoxdur orada hər şey. Shuttle.js ki, ilə məşğul servis hərəkət. Və index.html ana səhifə olduğu hər şey, həqiqətən, baş harada istifadəçi saytın ilə əlaqə edir. Service.css CSS stil, olan Twitter əlavə Bootstrap kitabxana, nəzarət necə index.html görünür. Və sonra biz də service.js var, üçün xidmət funksiyaları ehtiva edir servis. Və burada olacaq harada dos üçün bəzi doldurulması. İndi obyektlərin nəzər edək və JavaScript assosiativ diziler, bütün niyyətli və məqsədləri üçün birini əvəz edir. Mən obyekt dəyişən etmək istəyirdi Mən, bir çubuq olardı adlı bəyan edir. Və mən bu qıvrım aşırma daxilində əsas unicorn edir müəyyən. Ağac albalı. Və uzunluğu 13. İndi də dəyərlər əldə edə bilərsiniz istifadə obyektlərin assosiativ array notation. Belə ki, çubuq index core, mən bilərsiniz ki, unicorn bərabər və ya Mən lazımdır, əgər ki, yoxlamaq. Yoxsa mən dot operator istifadə edə bilərsiniz. Çubuq dot ağac, albalı bərabərdir və s, və s. Siz görəcəksiniz ki, assosiativ seriallarda və JavaScript obyektlərin olacaq əvəz, və iradə olduqca lazımlı gəlir. Sonra binaların bir sıra bax buildings.js da. Yenə, obyektlərin bir sıra. Mən yaxşı bir sıra etmək istəyirdi sonra Harvard şəhərciyində binalar, Aşağıdakı kimi mən bunu etmək olardı. Bu obyekt notation istifadə edərək, harada Mən kök, adı, ünvanı saxlamaq, hər enlem, və boylam bir ev object. Tez dəyişənlər haqqında danışaq JavaScript. PHP, JavaScript dəyişənlər kimi zəif və ya loosely çap olunub. Yerli dəyişən yaratmaq üçün, prefiks V-A-R, var olan dəyişən adı. İndi JavaScript, funksiyaları olacaq dəyişənlərin məhdudlaşdırır. Beləliklə, siz ərzində bir yerli dəyişən varsa bir funksiyası, sonra digər funksiyaları gedə bilməz. Lakin C fərqli olaraq, loops və şərait yoxdur dəyişən məhdudlaşdırır. Bir daxilində bəyan Belə ki, hətta əgər vəziyyəti, bütün funksiyası olacaq bu çıxışı var. İndi var olmadan, dəyişən qlobal olacaq. Yalnız adını elan və əgər bir dəyər təyin, sonra dəyişən qlobal dəyişən olacaq JavaScript. İndi evlərdə, biz assosiativ var ev tipli obyektlərin, array burada hər evin bir Enlem edir və boylam. Sonra sərnişin var bir sıra olan array, obyekt növü sərnişin. Belə ki, hər bir sərnişin bir istifadəçi adı var, bir ad və ev. Mən növü görüyorum edək ki, həqiqətən, yalnız deməkdir sərnişin, hər obyekt var ki, eyni əsas dəyər cüt. Belə ki, növü sərnişin hər obyekt var bir istifadəçi adı, adı, və ev. Belə ki, nə biz lazımdır P dəsti üçün nə? Yaxşı, biz istifadəçilər seçin imkan lazımdır heyət üzvləri up, bütün keçirmək üçün Hal-hazırda olan əməkdaşları Bizim servis, və onlara yuxulamaq. Və sonra biz də əlavə haqqında danışmaq lazımdır üçün həyata keçirilə bilər ki, xüsusiyyətləri servis P set. Amma ilk alma haqqında danışmaq edək. CS50 heyəti üzləri olmuşdur bütün kampus üzərində əkilmiş hər üz bir yer işarəsi kimi həyata keçirilir 3D yer üzündə, və kimi 2D xəritədə marker. Istifadəçi alma klik Belə ki, düyməsini, biz yaxın əlavə etmək istəyirəm servis sərnişinlərin. Və biz də onların aradan qaldırılması istəyirəm dünyanın qeyd və aradan qaldırılması onların Xəritədə marker olduğunu ifadə edən onlar indi bizim servis istəyirik. Belə ki, necə biz aşkar əgər sərnişinlər Bizim servis daxilində var? Yaxşı, funksiyası məsafə - belə servis dot məsafə, keçən enlem ve boylam, olacaq cari məsafə hesablamaq Bu üçün servis mövqeyi Siz ki, belirttiğiniz qeyd enlem ve boylam verilir. Beləliklə, siz hesablanması üçün bu istifadə edə bilərsiniz Bu üçün servis məsafə sərnişin. Amma necə bilirsiniz harada sərnişinlərin var? Biz lazımdır yaxşı ki, Bu yaşayır funksiyası redaktə. Yerlərdə heyət üzvləri bütün yaşayır və dünyaya sərnişinlər, və xəritə daxil, lakin deyil onların yeri saxlamayın. Belə ki, bəlkə siz saxlaya bilərsiniz onların nişanları və markerlər yerləşdirmək bəzi qlobal array. İndi artıq qlobal array var sərnişin məlumat saxlanılması. Sərnişinlər array mağazalar hər sərnişin adı və onların ev. Belə ki, bəlkə bir neçə parametrləri əlavə edə bilərsiniz orada sərnişin obyektlərin. Us bütün sərnişin aşkar kömək etmək üçün Bizim servis daxilində, edək sərnişinlərin bütün vasitəsilə loop sərnişinlər array. JavaScript A üçün loop ola bilər çox oxşar bu kimi bir şey, C. loop üçün bu və ya biz bir istifadə edə bilərsiniz loop strukturu üçün alternativ. Array var i üçün, harada hələ index olacaq. Amma müəyyən etmək lazım deyil Bu array dot uzunluğu vəziyyəti və i plus plus. Hər sərnişin yer onların yer nişanı verilir. Amma yer mark deyil enlem ve boylam. Biz həmin parametrləri daxil olmaq üçün GET istifadə edərək, həndəsə əldə yer işarəsi həndəsə. Və sonra biz, həndəsə bir dəfə enlem və ya əldə boylam, bu funksiyaları istifadə. Belə ki, indi biz olmadığını aşkar etmək üçün necə sərnişin ərzində Bizim servis üçündür. Biz həmin sərnişin var, biz will ki, bir sərnişin əlavə etmək istəyirəm ki, daxilində. Biz onları hop imkan istəyirsinizsə, və Bizim servis otur, yalnız biz onlar üçün kifayət qədər otaq var. Bu servis dot oturacaqlar array olacaq oturacaqlar boş olub, və ya göstərir edən oturacaq var. Belə ki, bir oturacaq boş, sonra əgər ki, oturacaq null olacaq. Belə ki, salon serialın üzərində təkrarlamaq, saxlanılması, yerlər üçün yoxlanılması sizin qədər o Oturacaqların daxil sərnişinlər bir daha boş oturacaqlar yoxdur. Və təəssüf ki, hər hansı digər sərnişinlər üçün gözləməli olacaq növbəti dəfə servis ətrafında gəlir. Onlar servis almaq, biz lazımdır onların yer nişanı aradan qaldırılması üçün 3D dünyada öz foto edir. Mən bir yer mark p çıxarmaq istədim əgər sonra mən bütün özellikleri almaq olardı Mənim yerdən, Google Earth, və sonra xüsusi səhnəsində aradan qaldırılması Bu removeChild funksiyası istifadə qeyd. Sonra nəhayət, ən marker aradan qaldırılması bildirin hər hansı 2D xəritədə icon biz aldığınız ki, sərnişin. Bir marker, m aradan qaldırılması üçün, sonra mən yalnız m dot setMap null icra. Daxilində bir sərnişin üçün bunu, və alma başa etdik.