>> [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.