>> [Muzikos grojimo]
>> Doug LLOYD: Taigi dabar mes metai Argumentai "už" at interneto programavimo, tiesa?
Ir mes apėmė kelis Kalbos atskirų vaizdo įrašus.
O dabar padarykime dar vieną, "JavaScript".
>> Pirma gera žinia, "JavaScript" yra modernus programavimo
kalba panašiai kaip PHP, kurio sintaksė yra kilęs iš C,
taip, kad gera vieta pradėti.
Tai maždaug tiek pat senas, kaip PHP, taip pat, buvo maždaug apie 20 metų.
Jis buvo išrastas maždaug tuo pačiu metu kaip PHP.
Ir Javaskriptą iš tiesų yra gana esminis vartotojo patirtį
iš interneto.
Iš tiesų, yra trys kalbos, kad aš
sakyčiau tarsi sudaro vartotojo patirtį bendrauja
su svetaine, HTML, CSS ir "JavaScript".
Ir todėl dabar Pakalbėkime Šiek tiek apie "JavaScript".
>> Bloga naujiena, nors su JavaScript kad jis nustato taisykles daug už save,
ir tada ji sugenda juos.
Ir Javaskriptą iš tikrųjų gali būti rūšies sudėtinga išmokti,
nes jis, skirtingai nei C PHP, kurie yra labai struktūriškai
ir turi labai griežtas taisykles kiek dalykų gali dirbti.
JavaScript yra natūra iš Dotarłeś tiek lankstus
kad gal ne viskas, kad dirbti taip, kaip mes tikimės, kad jie,
o gal mes tikrai negali mokytis mūsų pirmasis programavimo kalba
kaip JavaScript.
Tai gal, nes ji neturi nusibrėžė bet taisyklės,
ir tai tikrai ne vykdyti gerus kodavimo įpročius.
Bet dabar mes tikimės sukūrė gerų kodavimo įpročius,
ir todėl mes galime pradėti įsiveržimas į JavaScript truputį.
>> Norėdami rašyti JavaScript, panašus į atidarymo iki C failą su dot C pratęsimo
arba PHP failą su dot PHP išplėtimas, viskas, ką reikia padaryti, tai atverti failą
su DOT js failo plėtinys.
Mums nereikia turėti jokios specialios separatoriai, kaip mes padarėme PHP.
Šis kampas Rūšiuoti laikiklis klaustukas PHP
kad mes įpratę prie to, beje mes pasakyti mūsų naršyklę, kad tai, ką mes turime, yra
JavaScript įtraukiant jį į HTML tegus,
ir mes pamatyti šiek tiek apie Kaip padaryti, kad vos akimirką.
>> Kitas dalykas, kuris daro JavaScript skirtingi,
nors tai, kad ji veikia kliento pusėje.
Taigi prisiminti, kad su PHP mes niekada iš tikrųjų galėtų matyti
PHP kad pabrėžė svetainėje.
Jei mes kada nors peržiūrėtas puslapis šaltinis, tik mes būtume
pamatyti html, kad buvo generuoja, kad PHP.
Bet Javaskriptą veikia kliento pusėje.
Jūsų "JavaScript" veikia jūsų kompiuteryje.
Ir štai kodėl jūs galite padaryti Dalykų, pavyzdžiui, pridėti blokatorius.
Teisė?
Reklamos blokavimas paprastai daroma žuvo visi JavaScript
kad veikia tam tikroje svetainėje.
Ir dėl to, ji turėtų paleisti savo mašina kliento pusėje
galite tiesiog sustabdyti JavaScript veikia visiškai.
Tai taip pat reiškia, kad kai jūs naudojate svetainė, kuri apima JavaScript,
Jūs turite nusiųsti JavaScript šaltinį kodas, kaip dalį savo atsakymo HTTP
klientui, kai jie prašo ją.
Ir taip jūs negalite norite naudoti JavaScript
padaryti tikrai jautrius dalykus kaip einančios informacijos
apie vartotojų slaptažodžiai ir atgal pirmyn, nes jie iš tikrųjų
vyksta gauti visą kodą, ne tik HTML kuri yra generuojama,
pvz būtų tuo atveju, tarkim PHP.
>> Taigi, kaip mes apimti JavaScript mūsų html pradėti?
Na, panašus į CSS, iš tikrųjų, yra tarsi kaip mes jį čia.
Su CSS turime stiliaus žymes.
Ir viduje tų stiliaus žymių, mes galime apibrėžti CSS stilių.
Panašiai su JavaScript mes galime atverti scenarijų žymes,
kitas HTML tegus mes ne kalbėti apie mūsų html vaizdo,
ir rašyti JavaScript tarp šių scenarijų žymes.
Taip pat, nors, pavyzdžiui, CSS, mes gali susieti į ne CSS failus
ir traukti juos į mūsų programą, kad taip.
Su CSS mes galime taip pat, atsiprašau, su JavaScript
mes taip pat galime nurodyti šaltinį atributas scenarijų žymę
susieti JavaScript atskirai, todėl jums nereikia
turi parašyti jam tarp scenarijaus žymeles, mes
gali susieti jį naudojant kad scenarijų žyma, taip pat.
Ir kaip su atveju su CSS kur mes rekomenduojama, kad tai tikriausiai buvo
geriausia jūsų labui rašyti CSS atskirame faile atveju
jums reikia jį pakeisti, Panašiai mes rekomenduojame
parašykite savo JavaScript atskirus failus
ir naudoti scenarijų žymės šaltinį priskirti tie jūsų "JavaScript"
į savo HTML, savo interneto puslapyje.
>> Taigi JavaScript kintamieji, mes pradėti kalbėti apie sintaksę čia.
Ir mes eiti per tai greitai natūra,
nes mes tai padarė PHP, todėl visa tai turėtų būti gana pažįstamas.
Taigi kintamieji JavaScript yra labai panašus į PHP kintamieji.
Nėra tipas specifikatorius ir kai jūs įdiegti kintamąjį,
Jūs priešdėlis jį su var raktinį žodį.
PHP mes kažką daryti kaip tai, dolerio ženklas x.
Štai kaip mes nurodyta kintamasis, bet ne, mes
nemini tipą kintamojo ne visiems.
Norime pasakyti kažką panašaus dolerio ženklas x lygus 44 PHP.
Jei mes buvome daro Tas pats JavaScript,
sakytume var x lygus 44.
Taigi var yra tarsi mūsų kelyje įvesti kintamąjį.
Štai galbūt šiek tiek paprastesnis ne tik dolerio ženklas kintamąjį.
>> Vėlgi, nes nėra duomenų tipai, mes galime tai padaryti
bet kokios duomenų tipą, įsipareigojimų, nieko kito visi būtų var.
Conditionals, visi mūsų seni draugai iš C ir PHP
yra vis dar prieinami, todėl mes turime, jei kitur, jei kitur, jungiklis ir klausimas
ženklas dvitaškis.
Perjungti likę tokie lankstūs, kaip jį buvo PHP, bet visa tai jūs
susipažinęs su dabar.
Ir panašiai su kilpos seni favoritai Nors
daryti, o, ir dar mums prieinama.
Taigi jau žinome iš partijos Pagrindinis JavaScript tarsi pagrindai
tik pagal turintis gana didelis Žinių dabar apie C ir PHP.
>> Ką apie funkcijų JavaScript?
Na, panašus į PHP kiekvieną funkcija supažindinti su funkcija raktinį žodį.
Sakote funkciją, tada jums pradėti apibrėžti savo funkciją.
Kas šiek tiek kitoks apie JavaScript,
, nors yra galimybė turėti tai, kas vadinama anoniminė funkcija.
Taigi galite nustatyti funkcijų kad neturiu vardą.
Tai kažkas, ką mes tikrai nemačiau anksčiau.
Mes tikrai naudoti sąvoką anoniminio funkcija
šiek tiek vėliau šiais vaizdo, nes jis bus
padaryti šiek tiek daugiau prasmės kontekste kai mes matome jį konkrečioje situacijoje
kad aš meistriškai čia.
Bet tegul tiesiog pažvelgti kokia paprasta JavaScript
funkcija gali atrodyti.
>> Taigi aš nuėjo į priekį ir atvėrė savo CS50 IDE
ir aš jau paleisti Apache pradėti savo serveryje, kuriame veikia.
Ir aš turiu šį failą atidaryti vadinamas home.html.
Ir aš priartinti trupučiu čia.
Ir iš esmės, jūs galite pamatyti Home.html yra tik keletas mygtukų krūva.
Ir aš teigdamas viršuje čia kad tai yra JavaScript skyrius
medžiagos.
Taigi ten yra mygtukai krūva čia Bet ką šie mygtukai tikrųjų daryti?
>> Na, mes per galvą į mano IED, ir aš home.html atidaryti čia.
Pačioje pradžioje, čia, kur aš susiejimas
į visus mano "JavaScript" kodo failus.
Teisė?
Taigi turiu anonymous.js, clock.js, Aš naudoju šaltinio atributas
scenarijaus žymę susieti į failą.
Taigi aš ne parašyta bet JavaScript tiesiai į šį failą,
bet aš iškedentas visi JavaScript aš parašiau atskirai.
Ir jei mes slinkti žemyn čia, tai turėtų visi atrodo šiek tiek susipažinę
su trupučiu naujos sintaksės.
Mes čia turime antraštės tag funkcijos ir tada mygtuką.
Turiu įvestį, kad yra tipo mygtuką, ir, matyt, kai aš spustelėkite jį,
Aš ruošiuosi skambinti kai veikti įspėjimo datą.
Ir tai, kaip mes galime tarsi išmaišyti šiek tiek JavaScript ir HTML.
Jie iš tikrųjų žaisti gana gražiai kartu, ir taip, matyt, kai
Aš spustelėkite šį mygtuką, aš ruošiuosi skambinti tam tikrą funkciją įspėjimo datą.
Ir panašiai Aš apibrėžta elgesio už visų kitų mygtukų, kad
yra tame home.html puslapyje kuri mes vėl ir vėl grįžta
į per šio vaizdo metu.
Bet grįžkime iki čia ir pažvelgti
bent clock.js, kuris yra JavaScript failą, kad aš
rašė, kad turi šią funkciją pirmą mes ketiname pažvelgti.
Kaip matote, aš pradėti savo JavaScript veikti su raktažodžiu funkcija,
ir aš suteikti šį vieną pavadinimas, tai vadinama perspėjimas data.
Viduje ten, aš, matyt, sukurti Naujas vietinis kintamasis vadinamas dabartinė data.
Ir aš ruošiuosi priskirti lygią į naują dieną.
Ir mes galime patekti į Siuntos patikslinimo, kas data yra
ir tikrai JavaScript, kad didelė, kad mes negalime galbūt
apima viską vienoje vaizdo.
Tačiau pakanka pasakyti, tai vyksta grįžti į mane duomenų elementas, kuris
apimantis esamą datą ir laiką.
Aš saugoti, kad į kintamąjį, kad aš matyt ketina įspėti esamą datą.
>> Na, ką perspėjimą dabartinė data atrodyti?
Leiskite pažvelgti į patį failą išvaizdą atgal per naršyklės langą.
Taigi dar kartą, tai yra mygtukas, kad aš sąlygotosios į šios pavadintas funkcija.
Ir aš spustelėkite jį ten ir pažiūrėkite, ką ji padarė, tai įspėti.
Jis popped up šį laukelį rūšiuoti pasakoja man, kad dabartinis laikas yra, matyt
tai lapkričio 4 d 10:43:43 ryte.
Ir jei aš spustelėkite jį dar kartą, dabar tai keletą sekundžių vėliau, tiesa?
Taigi, kad viskas ši funkcija veikia.
Kai paspaudžiu šį mygtuką, jis pasirodo įspėjamasis pranešimas man.
Taigi ten tikrai nėra per daug funkcijų
tai skiriasi nuo PHP, tik šiek tiek naujos sintaksės
kuris ateina su darbo su JavaScript.
>> Masyvai JavaScript yra gana paprasta.
Norėdami paskelbti masyvą, naudoti laužtiniuose skliaustuose sintaksė
kad mes susipažinę su nuo PHP.
Ir panašus į PHP, mes Taip pat galite maišyti duomenų tipus.
Taigi, šis masyvas, tiek Šių masyvai būtų
būti visiškai teisėtas JavaScript.
Vienas, kad visi sveikieji skaičiai, ir vienas, kad yra sumaišyti skirtingus duomenų tipus.
>> Kas yra kažkas labai skiriasi JavaScript, nors?
Štai objekto sąvoka.
Taigi, galbūt jūs girdėjote apie Objektinis programavimas.
Mes neturime daryti jį daug CS50, bet mes padaryti šiek tiek apie tai
čia, JavaScript kontekste.
Dabar JavaScript turi galimybę elgtis kaip Objektinis programavimas
kalba, bet tai nėra pati tik Objektinis
programavimo kalba.
Ir tai vėl ateina Atgal kodėl sakiau, tai
gali būti labai sudėtinga išmokti JavaScript pat savo pirmojo programavimo
kalba, nes ji nėra tikrai tinka tam tikrą paradigmą.
>> C, kita vertus, yra funkcinė programavimo kalba.
Jei norime, funkcijos rūšiuoti didelis bosas žmogus, tiesa?
Jie diktuoja, ką atsitinka visa kita.
Mes norime keisti kintamųjų, mes vadiname funkcijas.
Mes darome dalykus funkcijas.
Daiktai vietoj to, nurodytame Objektinis kalbą,
objektai tarsi tapo žvaigždė ir funkcijos tampa tarsi antraeilis.
Bet kas yra objektas, ką tai objekto sąvoka?
Na, jei tai padeda, manau, apie tai iš pirmo rūšiuoti
apie tarsi C struktūros ar struct kad mes sužinojome apie anksčiau.
C, struktūra yra daugelyje sričių,
o gal dabar gali pradėti skambinti šiose srityse savybes.
Bet savybės niekada stovėti ant savo, tiesa?
Jei aš apibrėžti struktūrą automobilį kaip tai su šių dviejų
Laukai ar savybės: vieną sveikasis skaičius už automobilio metus
o kitas 10 simbolių eilutė automobilio modelio,
Galiu pasakyti kažką panašaus į tai, Galiu paskelbti naują kintamąjį,
tipo konstrukto automobilių Herbie.
Ir tada aš galiu pasakyti kaip herbie.year lygus 1963,
ir herbie.model lygus Beetle.
Tai gerai.
Aš naudoju laukuose konteksto, kurio struktūra,
bet aš niekada negalėjo tiesiog sako kažką panašaus į tai.
Teisė?
Aš negaliu naudoti lauko pavadinimas nepriklausoma nuo struktūrą.
Tai tarsi esminis dalykas.
>> Taigi laukai yra esminis C struktūrų
yra labai panašūs į savybės yra esminis JavaScript objektų.
Bet ką daro juos Ypač įdomu
yra tai, kad daiktai taip pat gali turėti ką yra vadinami metodai, kurie yra tikrai
tik išgalvotas žodis funkcijų, yra neatsiejamas nuo objekto, taip pat.
Taigi, tai funkcija, kuri gali būti tik vadinamas objekto kontekste.
Tik objektas, kuris apibrėžiamas Tai viduje savo funkciją,
Jei galvoti apie konstrukto, funkcija
apibrėžiamas viduje apibrėžiančius garbanotas petnešos statinio.
Taigi tik reiškia kažką prie konstrukcijos.
Ir tai tarsi ką mes darome čia su objektų ir metodų.
Tai iš esmės, kaip mes apibrėžti funkciją, kuri
prasmę tik ant tikras objektas, ir todėl mes
skambinti, kad tam tikro objekto metodu.
Ir mes niekada negali skambinti, kad funkcija nepriklauso nuo objekto,
kaip mes negalime pasakyti, metus ar modelis nepriklausomai nuo C struct
>> Taigi funkcinis programavimas paradigmos atrodo kažkas panašaus į tai.
Funkcija ir tada, kai pereisite į objektą kaip parametras.
Be Objektinis programavimas kalbos, tai tarsi tampa
apversta, ir mes galvojame apie tai, kaip šis, object.function.
Taigi tarsi tos tašku operatorius vėl reiškia
kad tai kai turto Rūšiuoti arba požymis paties objekto.
Bet tai, ką objektas orientuota programavimo kalba
gali padaryti, kad funkcija skambinti ant metodu, vėl, kuri
yra tik specialus žodis funkcijos kad yra neatskiriamas prie objekto.
Tai, ką tai sintaksė gali atrodyti.
Ir taip mes pradėsime pamatyti kai ši į JavaScript kontekste.
>> Jūs taip pat galite galvoti apie objekto rūšiuoti kaip masyvą,
kurį mes esate susipažinę su nuo PHP.
Įsiminti Association masyvas leidžia mums turėti rakto poras, o ne
turintys indeksų 0, vienas, du, trys, ir taip toliau, kaip mes naudojamas iš C
masyvų.
Asociatyvūs masyvai gali žemėlapis žodžiai, pavyzdžiui, PHP vaizdo,
mes kalbame apie užpilai picų.
Ir todėl mes turėjome masyvą vadinami picos, ir mes
turėjo sūris buvo pagrindinis ir 8,99 $ buvo vertė, o tada ankštpipiriai buvo pagrindinis,
9,99 $ buvo vertės, ir taip toliau.
Ir taip mes taip pat galime pagalvoti apie prieštarauti tarsi panašus į Association
masyvas.
Ir todėl ši sintaksė čia būtų sukurti naują objektą
vadinamas Herbie su dviem NT viduje ji.
Metai, kuri yra priskiriama vertė 1963 ir modelis, kuris yra priskirtas eilutę
Vabalas.
>> Ir pastebėti, kad čia aš naudoju Viengubomis kabutėmis JavaScript.
Galite naudoti vieną ar kabutes kai jūs kalbate apie stygos.
Tai tiesiog tradiciškai Tuo atveju, dauguma kartų
kai rašote JavaScript, tiesiog naudokite kabutes.
Bet aš galėtų naudoti dvigubas kabutes čia, ir kad būtų visiškai gerai, taip pat.
>> Taigi prisiminti, kaip į PHP mes turėjome šią sąvoką
iš to, kiekviena kilpa, kad leistų mus į kartoti per visą rakto
poros Association masyvas, nes mes
neturėjo šį gebėjimą pakartoti per 0, vienas, du, tris, keturis,
ir taip toliau?
JavaScript turi kažką labai panašios, Bet tai ne vadinamas kiekvienos kilpos,
ji vadinama dėl kilpomis.
Taigi, jei aš sakė, kad man patinka Tai, var rakto objektas,
tai tarsi panašus į sakydamas kiekvienam kažką kaip kažką.
Bet viskas, ką aš darau čia Iteracja per visus iš savo objekto raktus.
Ir viduje garbanotieji ten petnešos, aš norėčiau
naudoti objekto laužtiniuose skliaustuose raktą perduoti į tą pagrindinis vietos vertę.
>> Arba ten net kitą metodą.
Jei aš tiesiog rūpi tik apie vertės, galiu pasakyti rakto objektas,
ir tiesiog naudokite raktą viduje.
Taigi var rakto objektas, turiu naudoti objektų skliaustus
raktas viduje linijos.
Var rakto objektas, galiu tiesiog naudokite raktą viduje linijos,
nes aš tik specialiai kalbame apie ten vertybes.
>> Taigi leiskite gal užtrukti pažvelgti į skirtumo
tik greitai parodyti jums, tarp keturių skirtumas
ir už kartu su labai specifinė masyvas, kurį mes čia savaitę masyvo.
Taigi turiu rasti naują masyvo kad aš alsuoja septynių stygų,
Pirmadienis, Antradienis, Trečiadienis, Ketvirtadienis, Penktadienis, šeštadienis, sekmadienis.
Ir aš noriu dabar pakartoti per šio masyvo,
spausdinti tam tikrą informaciją.
Jei aš naudoju už LOOP spausdinti informaciją
Ką manote, kad aš ruošiuosi gauti?
Na, leiskite pažvelgti.
Ir kol mes šokinėti per mano naršyklės lange,
tiesiog žinau, kad console.log yra tarsi vienas
būdas tai spausdinimo F JavaScript.
Bet kas yra konsolė?
Na, tai ką mes ketiname eiti pažvelgti dabar.
>> Gerai, kad mes grįžome čia mano naršyklės lange,
ir aš ruošiuosi atidaryti iki mano Kūrėjo įrankiai.
Vėlgi, aš tiesiog pataikyti F12 atverti Kūrėjo įrankiai.
Ir pastebėsite, kad čia ne Top aš pasirinko konsolę.
Taigi tai yra sąvoka iš kūrėjo konsolę,
ir tai leis mums spausdinti informaciją iš,
rūšiuoti panašaus į terminalą, bet kaip pamatysite šiek tiek vėliau,
mes taip pat gali įvesti informaciją bendrauti su mūsų tinklalapio.
Aš ruošiuosi padidinti šiek tiek čia ir aš gonna dabar spustelėkite ant testas.
Ir keturi test-- Aš ne viskas parodyti jums jo kodą dabar,
bet jūs jį gauti, jei atsisiųsti kodą, kad
yra susijęs su šiuo video-- yra tik tai, kad pagal kilpa
kad mes matėme tik Antrasis prieš skaidrėje.
>> Taigi aš gonna Spauskite, kad mygtuką, ir daugiau čia
čia tai, kas išspausdinti į konsolė, 0, vienas, du, tris, keturis, penkis,
šeši.
Aš ne atsispausdinti informaciją viduje šių masyvų vietose,
nes aš naudojamas pagal kilpa.
Ir viduje kilpos kūno, aš tiesiog atspausdinti raktą neprieštaraus klavišą.
Bet jei aš dabar aišku, mano konsolę, ir aš pereiti prie už bandymo ir keturių bandymų
Sakau aš naudoju Vijos o ir atsispausdinti raktą,
jei aš spustelėkite, kad dabar aš gaunu faktiniai elementai viduje mano objektas
ar mano masyvas šioje byloje.
Mano masyvas savaitės dienomis.
Aš atspausdinti Pirmadienis, Antradienis, trečiadienį.
Taigi, kad skirtumas tarp už į kilpą, kuri spausdina
vos raktai Jei naudojate tik raktą viduje kilpos kūno,
ir už Vijos, kuris spausdina iš verčių, jei jūs naudojate tik
raktas viduje kilpa kūno.
>> Gerai, kaip dabar mes pradedame Jungiant eilutes, o gal išmaišyti
kai interpoliuojant kintamieji kaip mes galėjome padaryti PHP?
Na, mes gana susipažinę su šiuo nuo PHP.
Tai, kaip mes būtų tai padaryti naudojant dot operatorius Jungiant eilutes.
Be JavaScript, nors, mes iš tikrųjų naudoti kažką
vadinamas plius operatorius, kuris yra gal net šiek tiek daugiau
intuityvus, tiesa?
Mes pridedant krūva eilučių kartu.
Taigi leiskite galvą atgal daugiau ir pamatyti, ką tai
bus atspausdinti, jei mes bandome atsispausdinti visi į savaičių masyvo informaciją.
Visos teisės, todėl pagal čia pagal simbolių eilučių sujungimas,
Turiu du variantus, styginių pastatas V1 ir tada seka pastatas V2.
Ir mes pamatysime, kodėl mes reikia V2 per sekundę.
Bet aš gonna spustelėkite styginių V1, kuris
yra kodas buvome tik atsižvelgiant pažvelgti,
console.log su visais pliusus.
Leiskite pamatyti, jei tai spausdina , ką mes tikimės.
>> Pirmadienis dienos numeris 01 savaitės, Antradienis yra diena numeris 11 savaitės.
Na, ką aš bandžiau padaryti buvo gauti
tai atsispausdinti pirmadienis dieną, skaičius vienas, antradienis yra diena numeris du.
Tačiau atrodo, kad aš visada spausdinti vieną.
Na, kodėl taip yra?
Na, it turns out, išgerkite kitą išvaizdą Šiuo mažai kodo fragmentą čia.
Atkreipkite dėmesį, kad mes naudojame pliuso operatorius dviejuose skirtinguose kontekstuose.
>> Ir taip čia, kur gal kas kad mes natūra buvo suprantama,
oh, tai toks didelis.
Mes neturime kovoti su duomenų tipų nebėra.
Bet čia, kur tai kad mes prarasti duomenų tipai
tikrųjų gali būti šiek tiek iš už mus problemą.
Dabar, kad pridėjus operatorius yra naudojamas Jungiant eilutes ir pridėti numerius
kartu JavaScript turi padaryti savo geriausią spėjimą
kaip tai, ką aš noriu, kad ji tai padaryti už mane.
Ir šiuo atveju, tai atspėti negerai.
Jis tiesiog sudurtinius dieną, kuri būtų 0, vienas, du, tris, keturis, penkis arba šešis,
ir tada jis tiesiog sujungiamos kad ir tada sujungiamos vieną.
Tai iš tikrųjų nebuvo įtraukti juos kartu.
Ir taip tos kalbos, PHP ir JavaScript
kad tezės toli Šis tipų samprata,
Jūs neturite kovoti su ja nebėra.
Jie vis dar turi tipus po gaubtu.
Ir mes galime tais atvejais, kaip tai, sverto šį faktą
sakydamas kažką kaip gal tai, kuris
pasakoja JavaScript, tokiu būdas, gydyti tai kaip sveikasis skaičius,
netraktuoja kaip eilutę, net nors mes sumaišius stygos
ir sveikieji čia.
>> Tai tik vienas iš tų dalykų, kad jis atrodo toks didelis kontekste
kad mes neturi spręsti tipų nebėra,
bet kartais jums paleisti į situaciją
tiksliai, kaip tai, kur tai, kad Jūs neturite kontroliuoti tipų
gali turėti neigiamos jums jei nesate atsargūs.
Ir todėl, jei mes grįžti virš IDE, aš ketina išsiaiškinti savo konsolę vėl,
ir aš ruošiuosi spustelėkite eilutę Pastatas versija dvi, kurios
kur aš naudoju, kad parse int funkciją.
Dabar ji spausdinti informacija, kad aš laukiu.
Pirmadienio dieną numeris vienas, antradienį yra dieną numeris du, ir taip toliau.
>> Taigi pakalbėkime apie funkcijų dar kartą.
Pažadėjau mes kalbame apie anoniminis funkcijos, o dabar už tai kontekstas
pagaliau atvyko.
Taigi, kol mes padaryti, pakalbėkime dar kartą apie masyvų vos sekundę.
Taigi matricos yra specialus atvejis objektas.
Tiesą sakant, viskas JavaScript yra iš tikrųjų objektas.
Taigi, funkcijos yra ypatingas atvejis objektas,
sveikieji skaičiai yra ypatinga atvejis objektas,
bet matricas specialiai turėti metodų, skaičių.
Įsiminti nes jie objektus, jie gali turėti savybes ir metodus.
Jie turi vieną iš metodų, numerį, kad gali būti taikomi šių objektų.
Yra būdas vadinamas dydis, array.size,
kuris bus grįžti į Jums kaip galima tikėtis
iš elementų savo masyvas skaičius.
array.pop, tarsi Mūsų samprata Popping išjungtas
iš kamino, jei jūs prisimenate iš mūsų kaminai vaizdo,
pašalina paskutinį elementą iš masyvo.
array.push prideda naują elementą į masyvą pabaigoje.
array.shift yra tarsi kaip DQ, tai sudurtųjų iš
labai pirmasis elementas masyve.
>> Bet yra ir kitas ypatingas metodas masyvo vadinamas žemėlapį.
Ir tai yra tarsi įdomi koncepcija.
Taigi, kas yra žemėlapyje idėja?
Jūs iš tikrųjų matyti šį kelių kitų kalbų,
ir mes kalbame ne apie rūšiuoti kartografų map čia
mes kalbame apie žemėlapių funkciją.
Be konteksto mes kalbame apie čia žemėlapis
yra speciali operacija mes gali atlikti patikrinimus vietoje masyvo
taikyti tam tikrą funkciją į kiekvieną tos masyvo elementas.
ir taip mes sakome šiuo atveju, gal array.map,
ir viduje ji, mes artimųjų į žemėlapyje yra funkcija, kad mes norime
kuris turi būti taikomas kiekvieno elemento.
Taigi, tai tarsi analogiškas naudojant kilpos pakartoti per kiekvieną elementą
ir taikyti tam tikras veikti į kiekvieną elementą,
tiesiog "JavaScript" tai pastatyta sąvoka iš žemėlapių, kad būtų galima taikyti.
Ir tai yra didelis konteksto kalbėti apie anoniminių funkcija.
>> Taigi tarkime, mes turime Šis sveikieji masyvo.
Tai vadinama nums ir jis gavo penkis viskas jame, vienas, du, tris, keturis,
penki.
Dabar aš noriu map kai funkcija į šią masyvo.
Noriu turėti taikomos funkcija į kiekvieną masyvo elementas.
Na, tarkime, kad tai, ką noriu padaryti, tai tik dvigubai visus elementus.
Ką galėčiau padaryti, tai tiesiog naudokite kilpa už var I lygus 0, I yra mažiau nei
arba lygus 4, I plius, pridedant, ir Tada du kartus kiekvieną numerį.
Bet aš taip pat galime padaryti kažką panašaus į tai.
Galiu pasakyti nums anksčiau buvo vienas du trys Keturi Penki,
dabar, nors norėčiau jus taikyti žemėlapių ant šio masyvo
kur aš norėčiau, kad jūs padvigubinti kiekvieną numerį.
Ir tai būtent tai, kas čia vyksta.
Tačiau pastebėti tai, ką aš artimųjų AS argumentas, į žemėlapį.
Tai yra anoniminis funkcija.
Ir pastebėsite Aš nedavė Ši funkcija vardas,
Aš tik suteikti jai parametrų sąrašą.
Ir todėl tai yra pavyzdys anoniminio funkcija.
>> Mes paprastai niekada tai vadiname funkcija nepriklausė žemėlapyje kontekste.
Mes apibrėžiant ją kaip parametras į žemėlapį, ir todėl mes tikrai ne
reikia turėti vardą už jį, jei Vienintelis dalykas, kuris rūpi tai žemėlapis
ir tai apibrėžta teisė ten viduje žemėlapyje.
Ir todėl tai yra anoniminis funkcija.
Mes negalėjome tai padaryti anksčiau.
Žemėlapis šiek funkciją, kuri priima vieną parametrą, Num,
ir kas, kad funkcija nėra yra grįžta num kartus 2.
Ir taip po to kartografavimas buvo taikomas,
tai, ką nums išvaizda panašiai, dviejų, keturių, šešių, aštuonių, 10.
Ir mes pop į mano naršyklės langą ir tiesiog
Pažvelkite į šį išvaizdą tikrai greitai, kaip gerai.
>> Taigi, aš turiu kitą mygtuką čia mano pagrindiniame puslapyje vadinamas dvigubai.
Ir kai aš spustelėkite du kartus, ir tai pasako me prieš tai buvo vieną, du, tris, keturis,
penkių po dviejų, keturių, šeši, aštuoni, 10.
Ir jei aš einu atgal ir spustelėkite du kartus vėl, dviejų, keturių, šešių, aštuonių, 10.
Ir tada, po, keturių, aštuoni, 12, 16, 20 ir tada.
Ir ką aš darau šioje funkcijoje?
Na, jei mes tiesiog pop perkelti į IDE ir Aš atsigriebti savo anoniminį funkciją, čia
ant septynių linijos, einančios per 13 Aš daro šiek tiek išgalvotas darbą čia
bet aš tiesiog spausdinti kas šiuo metu masyvo.
Tada, linijos 16 17, ir 18, ten mano žemėlapis.
Tai kur aš Taikant šį padvigubinti funkcija kiekvienam elementui.
Ir tada šiek tiek toliau žemyn, Aš tiesiog daro tą patį
Darau prieš, išskyrus dabar aš spausdinti masyvo turinį
vėliau.
Bet viskas, ką aš padariau čia tiesiog naudokite anoniminį funkciją
į žemėlapį visoje visą masyvą.
>> Taigi dar vienas didelis tema, kalbėti apie JavaScript yra įvykio sąvoka.
Įvykis yra kažkas, kad tiesiog atsitinka kai vartotojas sąveikauja su jūsų internete
puslapis, tad gal jie spustelėkite kažką, arba gal puslapis yra įkeltos,
o gal jie jau persikėlė jų pelę ant kažko,
ar jie įvedėte kažką į įėjimo srityje.
Visi šie dalykai yra Renginiai kurie vyksta mūsų tinklalapio.
Ir "JavaScript turi tą gebėjimas palaikyti kažką
vadinamas renginys prižiūrėtojas, kuris yra atgalinių funkcija,
reaguoja į html atveju.
Ir kas atgalinio ryšio funkcija?
Na, tai paprastai tik dar pavadinimas anoniminių funkcija.
Tai funkcija, kuri reaguoja į renginį.
Ir tai, kai mes einame į idėja privalomas tam tikras funkcijas
į tam tikrą html atributas.
Dauguma HTML elementai turi parama atributą
kad mes ne kalbėti apie HTML Vaizdo kažką panašaus paspaudimu
arba hover arba apkrovai, visų šių įvykių
kad tada galite rašyti funkcijas kad susidoroti su šių įvykių
kai tie įvykiai atsirasti jūsų tinklalapį.
>> Ir taip gal tavo html atrodo kažkas panašaus į tai.
Ir aš turiu du mygtukus čia mygtuką vieną ir mygtuką du,
ir čia turiu dabar apibrėžta nieko,
tačiau tai yra, kur ant atributo paspaudimas, matyt, dalis mano HTML tegus.
Taigi, matyt, kai aš apibrėžti, kas yra vyksta viduje tos atributas,
tai bus kai Javaskriptą funkcija, kuri reaguoja į renginį
matyt paspaudę ant mygtuką vieną mygtuką arba du.
>> Kas tipo kietas, apie tai mes gali parašyti bendrą renginį prižiūrėtojas.
Ir šis renginys nagrinėjimą sukurti renginių objektą.
Ir įvykis objektas bus pasakyti mums kuris iš dviejų mygtukų buvo paspaudėte.
Dabar, kaip tai veikia?
Na, tai gali atrodyti kažką panašaus į tai.
Taigi, mes pirmiausia apibrėžti savo mygtukus turėti atsakymą į perskambinti
funkcija, kuri bus vadinama kai mygtukas paspaudžiamas,
mes vadiname įvykį įspėjimo vardą.
Ir pranešimas abiem atvejais mes esame einančios į šio renginio parametrą.
Taigi mes vadiname šią funkciją arba kai šią funkciją
iššaukiamas tuo atveju vyksta, jis ketina sukurti šį įvykio objektą
ir perduoti jį kaip parametras įspėti vardą.
Ir tas įvykis objektas ketina pateikiama informacija
apie kuriuos mygtukas paspaudėte.
Ir kaip ji padaryti?
Na, tai gali atrodyti kažką panašaus į tai.
Taigi dabar mano atskiras Failas JavaScript, galiu
turite rasti tai funkcija perspėjimas vardas, kuris
vėl priima Tokiu atveju parametrą.
Ir tada čia yra, kur aš aptikti kurį mygtuką sukėlė,
var sukelti lygus renginį dot šaltinio elementas.
Koks buvo šaltinis, kuris sukūrė Šis renginys objektas, kuris buvo priimtas?
Ar tai buvo mygtuką vieną ar jis buvo mygtuką du?
>> Ir tada čia viskas, ką aš darau yra spausdinti trigger.innerhtml.
Na, šiuo atveju, šiame kontekstas, trigger.innerhtml
yra tik tai, kas parašyta ant mygtuko.
Jis tiesiog taip atsitinka, jei mes šokinėti atgal per sekundę, kad būtų
būti, kas yra tarp tų mygtukų žymes.
Tai bus mygtuką vieną mygtuką arba du.
Ir tegul pažvelgti kaip šis renginys prižiūrėtojas būtų
atrodo, jei mes turėjome tai veikia praktikoje.
>> Taigi, visų pirma, jūs atvėrė events.js,
kuri yra failas JavaScript, kur Aš apibrėžta šią funkciją.
Ir, kaip matote, tai gana daug, ką
mes tik pamačiau ant skaidrės antras prieš.
Ir aš eisiu per į Titulinis puslapis mes jau naudojate.
Ir aš turiu čia mygtuką vienas ir mygtuką du.
Ir aš paspauskite mygtuką vieną.
Jūs paspaudėte mygtuką vieną, jei jums galite pamatyti čia perspėjime.
GERAI.
Paspauskite mygtuką du, jums paspaudžia ant mygtuko du.
>> Taigi abu mygtukai turėti pati skambinimo funkcijos, tiesa?
Jie abu buvo perspėjimas vardas įvykis, bet šis įvykis objektas
kad gauna sukūrė kai mes spustelėkite jis pasakoja, kurį mygtuką paspausti buvo.
Mes neturėjome rašyti du atskiri funkcijas arba spręsti turintys
perduoti bet kokią papildomą informaciją.
Užtenka tik pasikliaujant kas Javaskriptą bus
padaryti už mus, kurie yra sukurti, kad Rūšiuoti renginio objektą mūsų vardu.
Yra daug daugiau nei "JavaScript" ką mes įtraukti į šį video,
bet turintys jų pagrindinė turėtų jums
Ilgą būdai mokymosi viską jums
reikia žinoti apie tai Įdomu kalba.
Aš Doug Lloyd.
Tai CS50.