[MUSIC PLAYING] DOUG LLOYD: indi Beləliklə, biz köhnə edirik web proqramlaşdırma müsbət, sağ? Və biz bir neçə əhatə etdik fərdi video languages. İndi bir daha JavaScript edək. First yaxşı xəbər, JavaScript müasir proqramlaşdırma var Onun PHP kimi çox dil syntax, C irəli gəlir belə ki, başlamaq üçün yaxşı bir yerdir. Bu, həmçinin, PHP kimi köhnə haqqında 20 il ətrafında olmuşdur. Bu ətrafında icad edilmişdir PHP eyni vaxt. Və JavaScript olduqca əslində istifadəçi experience üçün əsas web. Əslində var üç dildə ki, mən etmək sort deyərdim əlaqə user experience veb ilə, html, CSS və JavaScript. Və belə ki, indi bir danışaq JavaScript haqqında az. Pis xəbər, baxmayaraq ki, ilə JavaScript edir özü qaydaları bir çox edir ki, və sonra onları pozur. Və JavaScript həqiqətən ola bilər cür öyrənmək çətin, Bu C fərqli olaraq, çünki və Çox strukturlaşdırılmış olunur PHP, və çox sərt qaydaları şeyi işləyə bilər necə. JavaScript cür var belə çevik kazanılmış bəlkə hər şeyi etmək niyyətində deyil biz onları gözləyirik yol iş və bəlkə biz, həqiqətən, öyrənmək bilməz ilk proqramlaşdırma dili bir JavaScript kimi. Belə ki, bəlkə bu deyil, çünki özü heç bir qaydalar müəyyən, və bu, həqiqətən deyil yaxşı kodlaşdırma vərdişləri həyata. Amma indi biz inşallah inkişaf etdik yaxşı kodlaşdırma vərdişləri, və biz basqını başlaya bilərsiniz JavaScript bir az. Açılmasına bənzər JavaScript yazmaq bir dot C uzadılması ilə C faylı və ya dot PHP uzadılması ilə PHP fayl, biz nə etmək lazımdır bütün bir fayl açmaq deyil Dot js fayl uzantısı ilə. Biz hər hansı bir xüsusi var ehtiyac yoxdur biz kimi sınırlayıcıları PHP etdi. Bucaq ki, sort bracket sual işarəsi PHP biz ki, yol üçün istifadə etdiyiniz biz nə olduğunu biz browser demək JavaScript o cümlədən var bir html tag ki, və biz bir az görürsünüz necə yalnız bir anda bunu. edir, başqa şey Müxtəlif JavaScript, baxmayaraq ki, bu klient çalışır ki. Belə ki, PHP ilə geri ki, biz, həqiqətən, görmək heç bilər Bir web vurğulayıb PHP. Biz heç araşdırdı əgər səhifə mənbə, biz yalnız ki idi html görmək ki, PHP tərəfindən. Amma JavaScript klient çalışır. Sizin JavaScript kompüter çalışır. Siz edə bilərsiniz ki, var şeyi blokerlerinin əlavə istəyirəm. Sağ? Ad blok adətən edilir JavaScript bütün həlak ki, müəyyən bir web çalışır. Və bu etmək olardı, çünki maşın müştəri tərəfində run, yalnız dayandıra bilər Tamamilə çalışan JavaScript. Bu da istifadə edərkən o deməkdir ki, JavaScript olan bir bax, Siz JavaScript mənbə göndərmək üçün Sizin http cavab hissəsi kimi code müştəri onlar tələb zaman. Və belə ki, deyil bilər JavaScript istifadə etmək istədiyiniz həqiqətən həssas şeyə keçən məlumat kimi istifadəçilərin parol geri haqqında irəli, çünki onlar həqiqətən istəyirik mənbə kodu bütün almaq üçün gedir, yaradılan yalnız html, Belə demək PHP ilə hal olardı kimi. Belə ki, necə biz JavaScript daxildir Bizim HTML başlamaq üçün? CSS oxşar Yaxşı, həqiqətən, biz burada bunu necə sortudur. CSS ilə biz stil tags var. Və bu stil tags daxilində, bir CSS stil müəyyən edə bilərsiniz. Eynilə JavaScript biz script tags qədər aça bilər, başqa html tag etmədik Bizim html video haqqında danışmaq, və JavaScript yazmaq bu script tags arasında. Həmçinin, baxmayaraq ki, kimi CSS, biz CSS faylları xaricində keçid bilər və proqram yol onları çəkin. CSS ilə biz, həmçinin JavaScript, pardon biz də mənbə daxil edə bilərsiniz script tag atribut JavaScript keçid ayrı-ayrı, belə ki, yoxdur yazmaq üçün script tags arasında, biz istifadə keçid edə bilərsiniz ki, script tag həmçinin. Və yalnız CSS harada işi ilə kimi Biz yəqin ki, idi ki, tövsiyə ən yaxşı maraq yazmaq halda ayrı bir fayl üçün CSS Siz onu dəyişdirmək lazımdır, eynilə biz tövsiyə edirsiniz siz yazmaq Ayrı-ayrı faylları JavaScript və script tags mənbə istifadə JavaScript bağlamaq aid HTML, web page. Belə ki, JavaScript dəyişənlər alacağıq burada sintaksis haqqında danışmağa başlayın. Və biz keçmək lazımdır tez bu cür, biz belə, PHP bunu etdik, çünki bu olduqca tanış olmalıdır. Belə ki, JavaScript dəyişənlər var dəyişənlərin PHP çox oxşar. Heç bir növü belirteci, və Bir dəyişən təqdim zaman, Siz var söz ilə prefiks. PHP biz bir şey nə olardı bu kimi dollar işarəsi x. Biz göstərilən necə ki dəyişən, lakin heç bir, biz növü qeyd yoxdur dəyişən bütün. Biz kimi bir şey demək olardı dollar işarəsi x PHP 44 bərabərdir. Biz bunu olsaydı JavaScript eyni şey, biz var x 44 bərabərdir demək olardı. Belə ki, var yolumuza sort bir dəyişən tətbiqi. Ki, bəlkə bir az daha asan var yalnız dollar işarəsi dəyişən çox. Yenə var-ci ildən heç bir məlumat növləri, biz bunu edə bilər hər hansı bir məlumat növü ilə, strings, başqa bir şey bütün var olacaq. Bir Conditionals bütün C və PHP köhnə dostlar hələ də mövcuddur, belə ki, biz əgər var, başqa, əgər başqa, keçid və sual mark colon. Bu kimi çevik qalan keçid PHP idi, lakin siz etdiyiniz bütün bunlar indi tanış. Və loops var eyni ilə müddət köhnə Seçilmişlərə, isə etmək, bizə hələ də mövcuddur. Belə ki, artıq biz bir çox bilirik əsasları əsas JavaScript sort yalnız bir qədər olan əsasında İndi C və PHP haqqında bilik. Nə JavaScript funksiyaları haqqında? Bəli, bənzər hər funksiyası PHP funksiyası söz ilə təqdim etdi. Siz funksiyası demək, sonra Sizin funksiyası müəyyən başlayır. Bir az fərqli nədir JavaScript haqqında, baxmayaraq üçün bacarığıdır nə anonim funksiyası deyirlər. Belə ki, funksiyaları müəyyən edə bilərsiniz ki, bir ad yoxdur. Bu bir şey deyil həqiqətən əvvəl görmədim. Biz, həqiqətən, anlayışı istifadə edəcəyik anonim funksiyası bir az sonra bu video, bu lazımdır, çünki kontekstində bir az daha məntiqli Biz xüsusi bir vəziyyət bunu gördükdə Mən burada hazırlanmış etdik. Amma yalnız bir nəzər salaq nə bir sadə JavaScript at funksiyası kimi baxmaq bilər. Beləliklə, mən qabaqda getdi etdik və Mənim CS50 IDE açdı və mən artıq Apache run sonra, Mənim server çalışan başlayacaq. Mən bu fayl var Home.html adlı açıq. Mən burada bir az zoom lazımdır. Və əsasən, siz görə bilərsiniz Home.html düymələri bir dəstə var. Mən burada üst iddia edirəm Bu JavaScript bölüm ki, materialları. Belə ki, düymələri bir dəstə burada var, lakin bu düymələri həqiqətən nə etməliyəm? Bəli, mənim IED artıq baş lazımdır, və mən burada açıq Home.html var. Çox başında, Mən birləşdirən alıram burada Mənim JavaScript mənbə faylları bütün. Sağ? Mən anonymous.js, clock.js var I mənbə atributu istifadə edirəm script tag fayl keçid. Belə ki, yazılı deyil hər hansı bir Birbaşa bu fayla JavaScript, amma çəkdi etdiyiniz bütün JavaScript Mən ayrı-ayrılıqda yazdıq. Və biz burada, bu aşağı diyirləyin əgər olmalıdır bütün qədər tanış baxmaq yeni sintaksis bir az. Biz header tag üçün burada var funksiyaları və sonra düyməsini basın. Mən bir növü düyməsini var bir giriş var və yəqin mən basın zaman, Mən bəzi zəng etmək üçün gedirəm alert tarixi fəaliyyət göstərir. Və bu sort qədər mix edə bilərsiniz necə JavaScript və HTML bir az. Onlar, həqiqətən, olduqca gözəl oyun birlikdə, və yəqin zaman Mən bu düyməsini, mən gedirəm basın bir funksiyası alert tarixi zəng etmək üçün. Və eyni Mən davranışları müəyyən var digər düymələr bütün üçün ki home.html səhifə var, biz qaytarılması saxlamaq lazımdır ki, Bu video kurs zamanı. Amma geri gedək burada nəzər clock.js da olan JavaScript fayl ki, mən Bu ilk funksiyası var yazırdı ki, biz nəzər olacaq. Gördüyünüz kimi, mən JavaScript başlayır söz funksiyası ilə fəaliyyət, və mən bu bir təqdim etdik adı, alert tarixi deyirlər. Orada Inside, mən yəqin yaratmaq Cari tarixi adlı yeni bir yerli dəyişən. Mən təyin gedirəm yeni tarixinə bərabər. Və biz bir çox daxil ola bilər bir tarix nə kimi ətraflı, və həqiqətən JavaScript belə big ki, biz bəlkə bilməz bir video hər şeyi əhatə edir. Lakin, bu gedir demək kifayətdir bir data item mənə qayıtmaq üçün ki, cari tarixi və vaxtı kapsüller. Mən deyiləm bir dəyişən ki, saxlanılması alıram yəqin cari tarixi xəbərdarlıq gedir. Yaxşı, nə siqnalı yoxdur kimi cari tarix baxmaq? Fayl özü nəzər salaq brauzer pəncərəsində üzərində geri. Belə ki, yenə bu düyməni ki, mən Bu adlı funksiyası bağlı var. Və mən orada basın və baxmaq Bu nə, bu alerted. Bu izah qutusu bu cür atdı Mənə cari vaxt yəqin ki, Bu Noyabr 4 var Səhər 10:43:43. Və mən indi yenidən basın əgər bu doğru, daha sonra bir neçə saniyə var? Belə ki, bütün bu funksiya yoxdur var. Mən bu düyməsini basın zaman, Mənə bir uyarı mesajı açılır. Belə ki, həqiqətən yoxdur funksiyaları çox ki, PHP fərqli yeni sintaksis bir az ki, JavaScript ilə iş ilə gəlir. JavaScript seriallarda var olduqca sadə. Bir sıra bəyan etmək üçün, siz istifadə kvadrat mötərizədə syntax biz PHP ilə tanış olduğunu. Və PHP oxşar, biz də məlumat növləri mix edə bilərsiniz. Belə ki, bu array, həm də bu serialların ki mükəmməl qanuni JavaScript olun. Bütün integers ki, bir və bir ki, müxtəlif məlumat növləri qarışdırılır olunur. Çox fərqli bir şey nədir JavaScript olsa? Ki, bir obyekt anlayışı var. Belə ki, bəlkə eşitdim yönümlü proqramlaşdırma etiraz. Biz CS50 bunu bir çox yoxdur lakin biz bunu bir az edəcəyik Burada JavaScript kontekstində. İndi JavaScript imkanı var bir obyekt yönümlü proqramlaşdırma kimi davranmaq dil, lakin özü deyil yalnız bir obyekt yönümlü proqramlaşdırma dili. Bu yenə gəlir geri Mən belə nə üçün öyrənmək üçün çox çətin ola bilər Ilk proqramlaşdırma kimi JavaScript dil, bu deyil, çünki həqiqətən xüsusi bir paradiqma uyğun. Digər tərəfdən C bir funksional proqramlaşdırma dili. Biz istəyirsinizsə, funksiyaları big boss insan sort, sağ? Onlar diktə nə başqa hər şey olur. Biz dəyişənlər dəyişmək istəyirsinizsə, biz funksiyaları zəng. Biz funksiyaları şeylər. Bir yerinə obyektləri yönümlü dil etiraz, sort ulduz olmaq obyektlərin və funksiyaları orta sort olur. Amma bir obyekt, nə etdiklərini və nə bir obyekt bu anlayışdır? Bəli, bu kömək edir, hesab edirəm ki, ilk növ bu barədə bir C strukturu və ya bir struct kimi ki, biz əvvəl öyrəndim. C, bir quruluş var sahələrdə bir sıra, və bəlkə biz indi başlaya bilər bu sahələrdə xassələri çağırırıq. Amma xassələri həqiqətən sağ, öz durmaq? Mən bir avtomobil üçün bir quruluşa müəyyən əgər aşağıdakı iki ilə bu kimi sahələri və ya xassələri, bir an avtomobil-ci il üçün tam və başqa 10 xarakter avtomobilin model üçün simli, Mən bu kimi bir şey demək olar Mən yeni bir dəyişən elan edə bilər növü struct avtomobil Herbi edir. Və sonra mən bir şey deyə bilərəm kimi herbie.year, 1,963 bərabərdir və herbie.model Beetle bərabərdir. Hər şey yaxşıdır. Mən sahələri istifadə edirəm strukturunun kontekstində, lakin mən yalnız heç bilər bu kimi bir şey demək. Sağ? Mən sahədə adını istifadə edə bilməz strukturunun müstəqil. Bu fundamental şey sort var. Sahələri olan Belə ki, C strukturlarına fundamental xassələri olan çox oxşardır JavaScript obyektlərin fundamental. Amma nə onlara edir xüsusilə maraqlı obyektlər nə ola bilər ki, həqiqətən deyilir metodları, funksiyaları üçün bir xülya söz ki, obyekt xas həmçinin var. Bu bir funksiyası var, belə ki, yalnız ola bilər ki, bir obyekt kontekstində çağırıb. Müəyyən yalnız bir obyekt onun daxilində bu funksiya, Bir barədə düşünmək struct funksiyası müəyyən o daxilində müəyyən edilir strukturunun qıvrım aşırma. Belə ki, yalnız bir şey deməkdir strukturu. Və biz işle sort var burada obyektlərin və üsulları ilə. Biz etdiyiniz kimi əsasən bir funksiyası müəyyən ki, yalnız bir on əhəmiyyət kəsb edir xüsusi obyekt və biz obyektin bir üsul zəng. Və biz zəng bilməz obyektin müstəqil funksiyası, biz il və ya model deyə bilmərəm kimi C. struct müstəqil Belə ki, funksional proqramlaşdırma paradiqmalar bu kimi bir şey. Function və sonra keçmək zaman bir parametri kimi obyekt. Bir obyekt yönümlü proqramlaşdırma dil, bu növ olur Çevrilmiş və biz düşünmək olardı Bu, object.function bu kimi. Belə ki, dot Bu sort operator yenə eyham Bu əmlakın bir növ var ki, və ya obyekt özü atributu. Amma bu nə bir obyekt deyil yönümlü proqramlaşdırma dili bir funksiyası etmək üçün nə edə bilər ki, , yenə bir metodu zəng yalnız bir xüsusi söz funksiyası üçün ki, bir obyekt tutur. Bu nə ki, syntax kimi görünə bilər. Və belə ki, biz bəzi görmək başlamaq lazımdır JavaScript kontekstində bu. Siz həmçinin bir obyekt haqqında düşünmək olar sort bir assosiativ array kimi, biz PHP ilə tanış deyilik ki. Assosiativ array verir saxla Bizə əvəzinə, əsas dəyər cüt üçün göstəriciləri 0, bir, iki, üç olan, və biz C-dən istifadə etdiyiniz belə kimi Diziler. Assosiativ serialların xəritəsi bilər belə PHP video kimi sözlər, biz söhbət pizzas yağlar. Və belə ki, biz bir sıra var idi adlı pizzas və biz idi pendir əsas idi və $ 8.99 idi dəyəri, daha sonra pepperoni əsas idi, $ 9.99 belə bir dəyər idi. Və biz də bir haqqında düşünmək olar bir assosiativ növ oxşar etiraz array. Burada bu sintaksis yeni obyekt yaradacaq iki deyilən herbie daxilində xassələri. Dəyəri 1963 verilir il, simli verilir və model, Beetle. Mən istifadə edirəm ki, burada qeyd JavaScript vahid quotes. Siz tək və ya cüt quotes istifadə edə bilərsiniz zaman strings söhbət edirik. Bu, yalnız şərti var hal ən dəfə zaman JavaScript yazılı etdiyiniz, Siz yalnız bir quotes istifadə edin. Amma burada ikiqat quotes istifadə və bilər həmçinin mükəmməl gözəl olardı. Belə ki, necə xatırlayıram PHP biz bu anlayışı idi Bizə imkan verir ki, hər bir loop üçün bir əsas dəyər bütün təkrarlamaq bir assosiativ cüt array, çünki təkrarlamaq üçün bu imkanı yox idi 0 vasitəsilə bir, iki, üç, dörd, və s? JavaScript, çox oxşar bir şey var lakin bu, hər bir loop üçün çağırıb deyil Bu loops üçün deyirlər. Belə ki, kimi mənə danışdı Bu, obyekt var düyməsi üçün, olduğunu söyləyən növ oxşar bir şey kimi hər şey. Amma burada edirəm bütün iterating olunur Mənim obyektin düymələri bütün vasitəsilə. Və buruq daxilində orada aşırma, mən müraciət obyekt kvadrat mötərizədə düyməsindən istifadə əsas yeri dəyəri. Alternativ olaraq, var hətta başqa yanaşma. Mən yalnız haqqında qayğı varsa dəyərlər, mən obyektin düyməsi üçün demək olar və yalnız daxili düyməsindən istifadə edin. Belə ki, obyekt var düyməsi üçün, mən object kvadrat mötərizə istifadə etmək loop daxilində düyməsini basın. Obyekt var düyməsi üçün, mən yalnız loop daxilində düyməsindən istifadə, Mən yalnız xüsusi deyiləm, çünki orada dəyərləri haqqında söhbət. Belə ki, bəlkə bir götürək fərq baxmaq yalnız tez sizə göstərmək üçün dörd arasında fərq bir çox xüsusi ilə və Biz burada array, həftə array. Belə ki, yeni bir sıra tapmaq lazımdır Mən yeddi strings ilə dolu ki, Bazar ertəsi, çərşənbə axşamı, çərşənbə, Cümə axşamı, Cümə, Şənbə, Bazar günü. Və mən indi təkrarlamaq istəyirəm Bu array vasitəsilə, müəyyən məlumat çap. Mən loop üçün istifadə edin məlumat çap, Mən almaq üçün gedirəm nə düşünürsünüz? Yaxşı, bir nəzər salaq. Və biz artıq jump əvvəl mənim brauzerinizin pəncərə, yalnız bilirik ki, console.log bir növ JavaScript çap F bunu yol. Amma konsol nədir? Yaxşı, ki, biz olacaq nə İndi nəzər getmək üçün. OK, belə ki, biz burada geri istəyirik Mənim brauzer pəncərəsində, və mən açmaq üçün gedirəm mənim geliştirici alətləri up. Yenə Mən yalnız F12 vuruş alıram geliştirici alətləri açmaq üçün. Və burada qeyd top I konsol seçtiniz. Belə ki, bu anlayışdır bir geliştirici konsol, və bizə imkan verəcək ki, məlumat çap sort terminal kimi, lakin Siz bir az sonra görəcəksiniz kimi, biz də informasiya yazın Bizim web səhifə ilə qarşılıqlı. Mən burada bir az zoom gedirəm Mən mý indi test üçün basın edirəm. Və dörd test-- Mən mý deyiləm İndi bunun kodu göstərmək, lakin siz bunu əgər almaq lazımdır, siz mənbə kodu download bu video-- ilə bağlı yalnız ki, loop üçün deyil gördük ki, yalnız bir ikinci əvvəl slide. Beləliklə, mən mý klik edirəm ki, düyməsini və burada, burada çap nə var konsol, 0, bir, iki, üç, dörd, beş, altı. Mən məlumat çap etməyib bu array yerlərdə daxili, Mən loop üçün istifadə çünki. Və loop bədən daxilində, I yalnız düyməsini etiraz düyməsini çap. Amma indi mənim konsol təmizləmək, mən əgər test üçün keçid və test dörd Mən loop üçün istifadə demək əvəzinə və əsas çap, Hesab edirəm ki, basın əgər, indi alıram Mənim obyekt daxilində faktiki elementləri və ya bu halda mənim array. Həftə gün mənim array. Mən bazar ertəsi çap Çərşənbə axşamı, Çərşənbə. Belə ki, fərq arasında var bir üçün loop olan çap Yalnız düyməsini istifadə əgər yalnız düymələri loop bədən daxilində, və loop, izləri üçün bir dəyərləri yalnız istifadə əgər loop bədən daxilində düyməsini basın. Bütün hüquqlar, necə biz indi başlamaq yoxdur strings concatenate və bəlkə qarışdırmaq interpolation bəzi dəyişənlər kimi biz PHP bunu bacardıq? Yaxşı, biz olduqca tanış edirik PHP bu ilə. Bu istifadə edəcəyini necə dot operator strings concatenate üçün. JavaScript, baxmayaraq ki, biz, həqiqətən, bir şey istifadə plus operator, adlı bəlkə hətta bir az daha intuitiv, sağ? Biz bir dəstə əlavə edirik strings birlikdə. Belə ki, geri baş imkan artıq nə görürük biz çap çalışdığınız əgər çap edəcək həftə array məlumat bütün. Burada əsasən belə ki, bütün sağ, string concatenation altında, Mən iki variant var, simli bina V1 və sonra simli bina V2. Və biz niyə görmək lazımdır ikinci V2 lazımdır. Amma mý Ben basın string bina V1 olan biz kodu yalnız bir nəzər alaraq, müsbət bütün console.log. Bu izləri görmek edək gözlədiyimiz nə. Bazar ertəsi, həftənin gün sayı 01 Çərşənbə axşamı həftənin gün sayı 11. Yaxşı, mən nə çalışır almaq var idi etmək Bazar ertəsi günü sayı çap bir Çərşənbə axşamı günü iki nömrəli edir. Amma bu mən kimi görünür həmişə bir çap. Yaxşı, niyə ki? Bəli, bu çıxır, başqa bir nəzər burada kodu bu kiçik parçası at. Biz plus istifadə etdiyiniz üçün bildirək ki, iki müxtəlif kontekstlərdə operator. Və belə ki, burada harada bəlkə şeylər var biz növ deyərək etdik ki, oh, belə böyük deyil. Biz artıq məlumat növləri ilə məşğul deyil. Amma burada olduğu faktdır biz data növləri itirmək həqiqətən bir az ola bilər bizim üçün bir problem. İndi plus operator üçün istifadə olunur ki, strings concatenate və nömrələr əlavə birlikdə, JavaScript var ən yaxşı tahmin etmək kimi mən bu mənim üçün nə etmək istədiklərini. Və bu halda, bu, yanlış guessed. Bu, sadəcə Zəncirləmə gün olacaq 0, bir, iki, üç, dörd, beş və ya altı, və o, yalnız Zəncirləmə ki, və sonra bir Zəncirləmə. Bu, həqiqətən, onlara birlikdə əlavə etməyib. Və bu dilləri, PHP və JavaScript, ki, üz özet növ bu anlayışı, Siz artıq bu ilə məşğul yoxdur. Onlar hələ də başlıq altında növləri var. Və biz, can hallarda bu kimi ki, leverage bir şey söyləyərək bəlkə bu kimi olan tərəfindən, JavaScript izah edir yol, bir tam kimi müalicə, hətta bir string kimi müalicə yoxdur baxmayaraq ki, biz birlikdə strings qarışdırmaqla edirik burada integers. Bu, yalnız o şeyi biridir Bu kontekstdə belə böyük görünür ki, biz yoxdur ki, Artıq növləri ilə məşğul, lakin bəzən lazımdır bir vəziyyət daxil məhz bu kimi burada faktdır ki, Siz növləri nəzarət yoxdur sizə əksyanma bilər Siz ehtiyatlı deyilik əgər. Biz IDE üzərində geri pop əgər, belə ki, mən daha konsol sil gedir, və mən simli basın gedirəm Bina versiyası iki olan Hesab edirəm ki, parse int funksiyasından istifadə harada. İndi çap oldu Mən gözləyirəm məlumat. Bazar ertəsi günü bir nömrəli, Çərşənbə axşamı belə gün sayı iki, və. Belə ki, daha funksiyaları haqqında danışmaq edək. Düşünürəm ki, biz anonim haqqında danışmaq vəd funksiyaları və bunun üçün indi kontekstində nəhayət gəlib. Biz bunu əvvəl Belə ki, yenidən danışaq yalnız bir ikinci Diziler haqqında. Belə ki, seriallarda bir xüsusi bir obyekt halda. Əslində, hər şey JavaScript həqiqətən bir obyekt deyil. Belə ki, funksiyaları bir bir obyektin xüsusi halda, integers bir xüsusi bir obyekt halda, lakin Diziler xüsusi üsulları bir sıra var. Onlar obyektləri istəyirik, çünki Unutmayın, onlar xassələri və üsulları ola bilər. Onlar üsulları bir sıra var ki, həmin obyektlərin tətbiq oluna bilər. Adlı bir üsul var ölçüsü, array.size, olan dönəcək Siz gözləyə bilər kimi Sizin massivin elementlərinin sayı. array.pop, sort kimi off yaratma bizim anlayışı bir yığın, siz geri əgər Bizim çıxarıcı borular video, array son element rədd et. array.push yeni element əlavə edir bir sıra sonuna. array.shift sort edir DQ kimi, onu splices bir sıra ilk element. Lakin başqa bir xüsusi var bir sıra üsulu xəritəsi çağırıb. Və bu sort maraqlı bir anlayışdır. Belə ki, bir xəritə fikir nədir? Siz, həqiqətən, bu görürsünüz bir neçə digər dillərdə, və biz bir söhbət deyilik cartographers sort, burada xəritəsi bir mapping funksiyası barədə söhbət edirik. Kontekstdə biz istəyirik burada söhbət bir xəritə xüsusi əməliyyat biz bir sıra çıxış edə bilər xüsusi funksiyası tətbiq etmək ki, serialın hər element. və biz demək olardı Bu halda, bəlkə, array.map və onun daxilində, biz keçən edirik xəritə daxil istəyirik bir funksiyası var hər bir element tətbiq olunacaq. Belə ki, istifadə sort analoji var bir loop hər element üzərində təkrarlamaq və müəyyən bir müraciət hər bir element üçün fəaliyyət, yalnız JavaScript inşa etmişdir tətbiq edilə bilər ki, bir Xəritəçəkmə anlayışı. Bu böyük kontekstində deyil anonim funksiyası haqqında danışmaq. Belə ki, biz deyək integers bu array. Bu nums deyirlər və bu beş var bu şeylər, bir, iki, üç, dörd, Beş. İndi bəzi xəritəsi istəyirəm Bu array funksiyası. Mən bir funksiyası tətbiq etmək istəyirsiniz serialın hər element. Yaxşı, mən istəyirəm nə ki, deyək yalnız elementləri bütün ikiqat yoxdur. Mən yalnız bir loop istifadə nə edə bilər nə var Mən 0 bərabərdir, mən az və ya bərabər 4, I plus, plus, və sonra hər bir sayının iki dəfə artırılması. Amma mən də bu kimi bir şey edə bilərsiniz. Mən nums əvvəllər idi demək olar bir iki üç dörd beş, İndi, baxmayaraq ki, mən sizə istəyirəm Bu array üzərində mapping tətbiq Mən sizə istediğiniz hər sayı iki dəfə. Və dəqiq nə burada baş. Amma keçən alıram nə hiss arqument xəritəsi kimi. Bu anonim funksiyası var. Mən verilmiş deyil qeyd bu funksiya bir ad, Mən yalnız bir parametri siyahısını təqdim etdik. Və bu bir nümunəsidir anonim funksiyası. Biz, ümumiyyətlə, bu zəng heç vaxt Xəritədə kontekstində kənarda fəaliyyət göstərir. Biz bir parametri kimi müəyyən edirik xəritə, və biz, həqiqətən etmək əgər üçün bir ad lazımdır önem verir, yalnız bir şey xəritəsi edir və sağ müəyyən oldu orada xəritədə daxilində. Və bu anonim funksiyası var. Biz bilməmişik əvvəl bunu. Bir funksiyası xəritə ki, , num, bir parametr qəbul və funksiyası nə yekunları dəfə 2 num olunur. Və bu sonra mapping tətbiq edilmişdir, Bu indi nə nums görünür kimi, iki, dörd, altı, səkkiz, 10. Və biz artıq pop lazımdır my browser window və yalnız bu nəzər həqiqətən tez həmçinin. Mən burada bir düyməsinə var mənim ana səhifə ikili çağırıb. Mən ikiqat basın və deyir zaman Mənə bir əvvəl, iki, üç, dörd, Beş iki, dörd, altı, səkkiz, 10 sonra. Mən geri getmək və əgər ikiqat basın yenə iki, dörd, altı, səkkiz, 10. Və sonra sonra, dörd, səkkiz, 12, 16, və sonra 20. Mən bu funksiyası nə edirəm? Bəli, biz yalnız IDE üzərində pop, və əgər Mən burada, mənim anonim funksiyası qoparmaq 13 vasitəsilə xətti yeddi, mən deyiləm Burada bir az xülya iş görən, amma yalnız çap alıram nə serialda hazırda var. Sonra xətti 16, 17, 18, mənim xəritəsi var. Bu misli tətbiq alıram burada hər bir element üçün fəaliyyət göstərir. Və sonra daha aşağı bir az, Mən yalnız eyni şey edirəm İndi mən istisna olmaqla, əvvəl edirdi serialın məzmunu çap sonra. Amma burada etdik bütün yalnız anonim funksiyası istifadə bütün array arasında xəritəsi. Belə ki, bir daha böyük mövzu haqqında danışmaq JavaScript bir hadisə anlayışdır. Bir hadisə yalnız baş verir ki, bir şey bir istifadəçi web ilə qarşılıqlı zaman səhifə belə ki, bəlkə onlar bir şey basın və ya bəlkə səhifə loading başa və ya bəlkə onlar hərəkət etdik bir şey üzərində onların siçan, və ya onlar bir şey çap etdik giriş sahəsində. Bütün bunlar hadisələr ki, bizim web page yaşanır. Və JavaScript var qabiliyyəti bir şey dəstək bir hadisə handler, adlı bir callback funksiyası ki, bir html hadisə cavab verir. Və callback funksiyası nədir? Bəli, bu, ümumiyyətlə, yalnız bir var anonim funksiyası üçün ad. Bu bir funksiyası var ki, bir hadisə cavab verir. Biz gəlib və bu müəyyən funksiyaları məcburi ideyası xüsusi html atribut. Ən html elementləri var bir atributu dəstək biz HTML haqqında danışmaq deyil ki, klik kimi bir şey video və ya hover və ya yük, bu hadisələr bütün Əgər funksiyaları yazmaq olar ki, Bu hadisələrin ilə məşğul o hadisələr web page baş verir. Və belə bəlkə sizin html bu kimi bir şey görünür. Və mən burada iki düymələr var, düyməsini bir və düyməsini iki, və burada hazırda müəyyən bir şey, lakin bu olduğu atributu haqqında klik yəqin mənim html tag hissəsidir. Belə ki, yəqin mən nə müəyyən zaman ki atributu daxilində gedən, bəzi JavaScript olacaq Tədbirdə cavab funksiyası ehtimalla tıklayarak düyməsini bir və ya düyməsini iki. Nə cür sərin bu biz var haqqında ümumi hadisə handler yaza bilərsiniz. Və bu hadisə Handler olacaq bir hadisə obyekt yaratmaq. Və hadisə obyekt bizə edəcək iki düymələri olan tıklayan edilib. İndi necə işləyir? Bəli, bu kimi bir şey ola bilər. Beləliklə, biz ilk düymələri müəyyən edəcək callback cavab var adlanacaq funksiyası düyməsini tıklandığında, biz hadisə uyarı adını zəng edəcəyik. Və biz istəyirik hər iki halda qeyd bu hadisə parametr keçən. Beləliklə, biz bu funksiyası zəng və ya bu funksiya baş hadisə səbəb olur, Bu hadisə obyekt yaratmaq olacaq və kimi keçmək parametr adı xəbərdarlıq. Və hadisə obyekti məlumat ehtiva gedir haqqında düyməsinə tıklandığında. Və necə ki, nə edir? Bəli, bu kimi bir şey ola bilər. Belə ki, indi mənim ayrı JavaScript fayl, mən bilər Bu tapmaq üçün funksiyası alert adı, hansı daha hadisə parametr qəbul edir. Mən aşkar alıram Və sonra burada düyməsini təkan oldu, var trigger hadisə bərabərdir dot mənbə element. Yaradılmış mənbəyi nə idi keçildi bu hadisə object? Bu düyməsinə biri idi və ya düyməsini iki idi? Və sonra burada edirəm bütün trigger.innerhtml çap. Yaxşı, bu halda, bu kontekstində, trigger.innerhtml düyməsini yazılı yalnız budur. Biz jump əgər, sadəcə belə olur geri ikinci, ki, ki, bu düyməni tags arasında nə ola bilər. Bu düyməsini bir və ya düyməsini iki olacaq. Və bir nəzər salaq necə bu hadisə handler ki biz praktikada çalışan əgər baxmaq. Belə ki, ilk növbədə, var açıq events.js, JavaScript fayl burada olan Bu funksiya müəyyən etmişik. Gördüyünüz kimi, bu olduqca çox dəqiq nə biz yalnız ikinci əvvəl slayd gördüm. Mən artıq getmək olacaq biz istifadə etdik ana səhifə. Mən düyməsini burada var bir və düyməsinə iki. Mən düyməsinə bir basın lazımdır. Əgər Siz düyməsini bir tıklayan burada xəbərdarlığı bilərsiniz. OLDU. Düyməsinə iki basın Bir düyməsinə iki tıklayan. Belə ki, hər iki düymələr var Eyni funksiyası zəng, sağ? Onlar həm də alert adı idi Tədbirdə, lakin bu hadisə obyekt biz basın zaman yaradılmış olur Bu tıklayan olan düyməsini bizə deyir. Biz ayrı-ayrı iki yazmaq yox idi olan funksiyaları və ya müqavilə hər hansı əlavə məlumat keçmək. Biz yalnız əsaslanaraq edirik nə JavaScript olacaq ki, yaratmaq üçün olan bizim üçün nə bizim adından tədbir obyektin sort. Daha JavaScript daha çox var biz bu video əhatə etdik nə, lakin olan bu siz almaq lazımdır fundamental kifayət qədər uzun bir yol etmək Siz hər şeyi edəcəyik öyrənmək Bu barədə bilmək lazımdır maraqlı dil. Mən Doug Lloyd edirəm. Bu CS50 edir.