>> Bütün hüququ.
Belə ki, JavaScript.
Bu otaqda demək olar ki, hər kəs yəqin ki, bəzi dərəcəsi var
ilə rahatlıq olub bu yol geri zaman SC50 idi
və ya şəxsi oldu hətta web layihələr və ya
Siz ilə bir az əgər Bu son PHP baza layihə,
lakin ən üçün hissəsi, bir çox,
bəzi rahatlıq olsa belə
JavaScript ilə bəlkə qəbul olunmayıb
verilən üçün necə dil işləyir və nə gedir
üzrə başlıq altında və biz cəhd olacaq nə
Bu gün nə etmək peel geri texniki qat bəzi
JavaScript nə, necə bir dil fərqlənir
PHP kimi, necə ola bilər istifadə klient yalnız
həm də server yan və sonra çox xüsusi diqqət
Bu çərçivədə, heç bir JS qeyd olan mahiyyətcə bir run vaxt,
siz bir proqram JavaScript kodu keçirə bilər,
server yan və olmaq getdikcə məşhur sort
eyni biçimdə bu yəqin ki, Ruby və PHP gün
və Python və siz görəcəksiniz
bəzi olduqca var ki, bəzi yolu ilə güclü xüsusiyyətləri
daxili dil kurgularıyla.
Asan, lakin ilk, bəzi Yalnız xatırlatmaq stuff
bu dil işləyir və necə Əgər hər hansı bir görən problem varsa
Bu, yalnız qışqırtı ilə həyata və biz ayarlar.
Belə ki, PHP kimi bir var əsas funksiyası anlayışı,
yalnız kodu yazılı başlaya
və siz ona edə bilərsiniz alt üst şərh.
Bir brauzer kontekstində
və ya bir şey server tərəfində biz bəzi nümunələr görmək lazımdır
bir az.
Conditions, syntactically , PHP ekvivalent eləcə də C
C + + və bəzi digər dillərdə belə ki, yalnız bir mənada vermək
biz bunu strukturu bilər necə,
yalnız canonical var vəziyyəti.
Boolean ifadələr, eyni Siz gördüm syntactically kimi
həmin digər Oring üçün həm dil,
və birlikdə şeyi başa.
JavaScript açarları var, çox PHP və digər nin nə kimi
və sizin kimi, məhdud deyilik ayrılmaz primitives üçün C
chars və ints kimi, həqiqətən, dəyərlərin digər növləri.
Loops. Belə ki, bu eyni
və yəqin ki, bir çox dil, loops, nə isə loops isə
və sonra burada bu oyun.
Belə ki, bu sort edir sürətli almalar kimi tanınan
və bir çox ağıllı yoldur yalnız PHP bunu kimi
bar kimi hər FU üçün Siz eyni bilərsiniz,
bir JavaScript obyekt, object adıdır
burada dəyişən, demək, var i obyekt və hər iteration
Bu loop, i bir olacaq
ki, obyekt olan düymələri.
Belə ki, bir obyekt varsa tələbə və tələbə ID var
adı və bir ev, iteratively i keçiriləcək
şəxsiyyət və adı dəyəri və ev və ona index bilərsiniz
obyekt daxil bu sanki kvadrat mötərizə istifadə edərək array
dəyəri almaq üçün notation əsas şəxsiyyət vəsiqəsinin və ya adı
və ya belə irəli ev və.
Və ümumi zidd ehtimal, JavaScript, obyektlərin
xassələri deyil mütləq olması təmin
eyni qaydada, bu da PHP doğru belə güman yoxdur
şeylər olacaq ki, eyni qaydada
bu əsas qoymaq ki, obyekti dəyər cüt.
Necə Diziler haqqında?
Yollar bir neçə var syntactically yazmaq
lakin bu yəqin ki, ən çox ümumi indi yalnız istifadə kvadrat
bracket notation.
Belə ki, bu dəyişən array olan nömrələrə zəng
altı integers, burada sadə bir simli var
və yox nə görürsünüz bu nümunələrdən,
JavaScript nə yəqin çatışmır.
Bəli. Belə ki, heç anlayış var yazmaq, əlbəttə deyil
burada çərçivədə, lakin Bu, həqiqətən bir simli edir.
Belə ki, JavaScript növləri var və həqiqətən bir sıra idi
özü bir növü olan və elementlərin hər biri
ki, array növü idi JavaScript kimi sayı çağırır.
Belə ki, bir loosely tipli dil və biz görəcəksiniz
PHP kimi ki, JavaScript bir şəxsiyyət operator var
və digər mexanizmlər üçün həqiqətən nə tip yoxlanılması
bəzi dəyişən həm səhv yoxlanılması üçün
və digər proqramları üçün.
Və burada bir nümunə obyekt var yalnız ID və bir ad olan.
İndi, biz istəyirik ki, görürsünüz buruq bracket notation istifadə edərək,
bu abzas və ağ kosmik sort mənasız edir
və bu elan bir Adı Rob dəyişən
və onların ID 1 və tarix type burada bizim sayı
və müvafiq string.
Və sonra bu az fərqli bir şey
Əgər bir şey etdik əgər bu gün Ajax ilə?
Siz yəqin ki, istifadə bu kimi bir obyekt
lakin nə burada qeyd dəyər?
Syntactically heç nədir , müxtəlif, yalnız bir neçə
Bu nümunə arasında şeyi admittedly kiçik olan
və bu böyük nümunəsidir.
Belə ki, ilk layman nin Terim, bu nədir?
Növü nədir heyəti deyəcəksiniz?
OK, bu, bir sıra var, Bu nə bir sıra var?
>> Obyektləri.
>> OK, bu obyektlərin bir sıra var.
İndi, yalnız bir diqqət - Bu obyektlərin hər hansı biri,
müxtəlif nə bu və bu arasında?
>> Düymələri strings var.
>> Bəli. Belə ki, düymələri strings var,
və açarları həqiqətən var hər iki halda strings
və bu qarmaqarışıq sortudur
mənim fikrimcə tarixi dizayn qərar istifadə etdiyiniz zaman
JSON, JavaScript Obyekt Notation,
mahiyyətcə olan nəqliyyat format
məlumat göndərmək üçün adətən şəbəkə arasında
, müştəri və server arasında Yadınızdadırsa lazımdır
Bu həqiqətən deyil ki, etibarlı JSON və bu biridir
Bu FYIs siz halda heç divar qarşı baş bang
heç yaxşı üçün bir neçə dəqiqə səbəbi, cari JSON deyil
düymələri, çünki həqiqətən sitat deyil.
JSON gic tələb edir ki, düymələri verilə deyil,
lakin onlar ikiqat verilə ki, tək quotes kifayət deyil.
Belə ki, axmaq az şey və bir əyləncə fakt daha
bu gün məqsədlər lakin bu çox etibarlı JavaScript olacaq
yalnız deyil - burada converse doğru deyil.
Bütün hüquqlar.
Belə ki, biz çox görəcəksiniz ki, daha çox.
Bütün hüquqlar.
Belə ki, JavaScript var syntactically yəqin ki, olduqca
tanış, olan sizin hər hansı bir əvvəl JavaScript istifadə heç vaxt
PHP, böyük bir sıçrayış deyil və ya ən hər hansı bir prosessual dil
istifadə edə bilər ki,.
Belə ki, bu gün biz müzakirə edəcəyik maraqlı aspektləri
JavaScript xüsusilə heç bir JS kontekstində
lakin yalnız çünki İndi qədər Siz yəqin ki, var
Javascript'i istifadə əgər, browser daxilində istifadə olunur.
Belə ki, heç JS bir mühit sonra bir az gedir
us daxil olmaq üçün imkan JavaScript kodu müştəri -
server yan lakin ilk, Bir nəzər salaq
bir var ki, bir şey az daha klient.
Belə ki, mən getdi etdik və bu Kurslar saytında bağlıdır
Siz birlikdə oynamaq istəyirsinizsə, iki alt dizinler var
adlı bugünkü Zip ilə mənbə studs saytında zip
və bu yalnız bir reminiscing neçə misal
şeyi sizə görmüşəm bilər əvvəl və sort onlara inşa
sadə olan qədər qədər tease daha mürəkkəb
bəzi funksiyaları həyata JavaScript.
Belə ki, irəli getmək və almaq imkan bir bu məsələn baxmaq.
Belə ki, kefsiz blink tag idi bir neçə il əvvəl off həlak
yol var kimi gözəlləşir və gözəlləşir
və blink tag sözün idi açıq bracket yaxın bracket qırpmaq
və bu cür heç bir bizimlə artıq.
Amma yenə də diriltməyə qadir yalnız növ tag bu fikri
bu barədə düşünür məntiqi, siz necə getmək yoxdur
kimi bir şey edilməsi haqqında Bu daxilən qırpmaq?
Bir az bilirik fərz JavaScript bit və ya CSS
Bu nöqtədə, bu OK əgər.
>> Bir vaxt seçin və saxla sonra mən tag lazımdır sonra
həyata və yenidən bunu göstərir.
>> Bəli, mükəmməl.
Bu növ, 101 proqramlaşdırma olunur
necə nail olardı bu kimi vizual effekt?
Yaxşı, siz elə-belə bir şey göstərmək lazımdır
və sonra bir şey gizlətmək, göstərmək bir şey, bir şey gizlətmək
və Jonathan təklif kimi vaxt həyata bir növ istifadə edərək,
Siz edə bilərsiniz cədvəli bir növ Bu dəfələrlə qoymadan
bir loop və ya istifadə etmək üçün ki, kimi bir şey.
Belə ki, mənə blink-0.html daxil bildirin
və mənə shrink bildirin font bir az
bu daha çox uyğun, belə ki.
Və bir nəzər salaq burada neler at.
Belə ki, ilk növbədə, fark bədən
Bu səhifənin super edir bədən daxilində, sadə
Səhifənin yalnız bir div edir.
Mən özbaşına təqdim etdik təbrik ID
ki, bir şey ola bilər belə uzun unikal kimi
və sonra mən yalnız bəzi sadə mətn, dünya salam.
Belə ki, mən indi gedin, bəzi tüklü üslubu bildiriş.
Belə ki, mən kəskin, demək təbrik, siz bildiyiniz kimi
CSS yalnız benzersiz deməkdir elementi müəyyən
salam bir fikir ilə,
font ölçüsü özbaşına gedir Bu, margin və mətn align ola bilər.
Belə ki, maraqsız estetik ətraflı
təxminən mətn mərkəzi.
Belə ki, maraqlı hissəsidir burada script tag up
Mən daxili qoymaq üçün baş verən Səhifənin başçısının.
Belə ki, we'll - siz edə bilərsiniz bu yolları bir sıra
və biz bir neçə görəcəksiniz bu proqramın tekrarlamalar
lakin üst başlamaq bildirin.
Belə ki, mən bir elan etdik blink adlı funksiyası
və yəqin ki, bu istifadə edir daxili adlı DOM metodu
bəlkə də getElementById daha güclü üsullardan biri
Siz qutusu çıxmaq ki, JavaScript axtarır
"Təbrik" yoxdur bu kimi ikiqat quotes ola
HTML ya gözəl, uzun
Siz stylistically kimi ardıcıl Mən cəsarət bu gün demək
bir çox insanlar Java istifadə, JavaScript vahid quotes,
ikiqat HTML quotes lakin həqiqətən Fərq etməz
belə uzun siz ardıcıl etdiyiniz kimi.
Belə ki, burada tanış değilseniz, Siz həqiqətən edə bilərsiniz
JavaScript CSS elementləri xassələri.
Belə ki, mən var ki, görürsünüz div deyilən elan dəyişən
və daxili saxlanılır dəyişən,
nə üçün istinad ki, DOM element edir.
Belə ki, geri CS50 düşünüyorsanız və ya Siz fikir hər hansı bir sinif
ağac strukturları, DOM, Document Object Model,
bu yalnız bir istinad edir bir ağac bir node,
bu səhifəni təmsil
və əgər div.style.visibility əmlak, bərabərdir, bərabərdir bərabərdir
gizli, sonra mən yalnız bir keçid bunu istəyirik
Jonathan təklif kimi əks halda mən istəyirəm
onu gizli üzərində keçid üçün.
İndi tərəfində olduğu kimi, niyə üçlü var bərabərdir?
Və ya qarşı nə ikiqat bərabər?
>> Ciddi ekvivalent.
>> Bağışlayın.
>> Ciddi ekvivalent.
Belə ki, şəxsiyyət operatorları var
Siz yoxlanılması olduğunuz tərəfindən dəyişən yalnız dəyəri
bərabər, bərabər mənada həm də növü.
Belə ki, biz olsa da hər hansı bir məlumat bu günə qədər müəyyən
hər hansı bir dəyişənlər üçün növləri bu və ya slaydlar bir,
bağlı bir növü var ki, simli gizli ilə
ki, gizli dəyəri və Təbii ki simli edir.
Belə ki, bu halda, həqiqətən Fərq etməz
heç bir yol ki, var, çünki biz bir string conflate olacaq
"gizli" ilə digər dəyər
lakin bu tez-tez yaxşı vərdiş olsun deyərdim
bərabər, bərabər istifadə edərək,
bərabər işarəsi adətən yaxşı bir şey.
Bu kodu edəcək daha PHP həm sağlam, lakin
və JavaScript Siz run lazımdır, çünki
bəzən künc hallarda daxil dəyəri sıfır ola bilər harada
Sizin üçün yoxlanılması və edirik ki, sıfır yalan conflated bilər
və ya, heç bir və PHP kimi ola bilər
Javascript çox çox ola bilər yalan dəyərlər harada sıfır
yalan və null və undefined bütün dolayısı həll edə bilər
yalan.
Amma həqiqətən istəyən edirsinizsə xüsusi dəyər yoxlamaq üçün
kimi sıfır, sayı, və ya yalan Boolean sonra var
Bu şəxsiyyət operator istifadə etmək.
Belə ki, onu almaq üçün nə edə bilər hər halda hətta burada da,
bu cür mənasız var biz kontrol edirik bilirik, çünki
bir string dəyəri və bu başqa bir şey olacaq.
Belə ki, burada sehrli, sonra mən Burada bu xətt üçün aşağıya fırladın,
yəqin, inşa pəncərə obyektə
və bu xüsusiyyət var Siz daxil ola bilər bir browser
Bu super qlobal Window adlı obyekt,
ki, daxilində bəzi işlevselliği,
əgər parça olan interval müəyyən edilir
və yəqin edir dəlilləri nə cür?
Bəli.
>> Function zəng və bir dəfə.
>> Yaxşı. Belə ki, bir funksiyası bir vaxt zəng və
və xüsusilə bir funksiyası istinad,
bir funksiyası bir pointer bir mənada
və funksiyası var ki, olacaq
hər sayı edam almaq üçün ms və bu halda,
hər 500 ms var.
Belə ki, fahişəliyə cəlb edilməsi maddələri yol səmərəli və sonsuz loop
iteration istifadə edərək, lakin olmadan əvəzinə JavaScript izah
daxili mühərrik brauzer
Bu hər 500 etmək ms və ya yaxın
500 ms ola bilər kimi,
çıxır ki, başlıq altında,
bir hadisə adlandırıb nə var loop və biz bu geri gəlmək lazımdır
node JS kontekstində yalnız daim cür
, iplik, orada oturan ediləcək iş gözləyir
və tezliklə həyata kimi,
500 ms keçdi blink təkrar çağırıldı olacaq
və təkrar edir hər hansı digər iş yanaşı
ki, görülən almaq lazımdır.
Belə ki, biz burada nə inkişaf edə bilər?
Yaxşı, məni açaq up blink-1.html
və blink-1.html nümayiş
kimi estetik mükəmməl eyni.
Belə ki, biz burada nə inkişaf edə bilər?
Yaxşı, qeyd edir ki, bu cür faydasız idi
adlı funksiyası müəyyən etmək Blink çünki neçə
necə bir çox yerlərdə etdim funksiyası blink zəng?
>> Yalnız bir dəfə.
>> Belə ki, bir.
Belə ki, bu, pis deyil fakt yəqin ki, olduqca
düz irəli.
Mən bir funksiyası blink müəyyən I yolu ilə bir funksiyası blink zəng
Bu parametr, lakin texniki,
üçün səbəb yox idi Bu və ortaq bir paradiqma
JavaScript əslində lambda funksiyaları istifadə etmək
Siz geri kimi 51 və ya anonim funksiyaları
harada ehtiyac yoxdur, əgər Funksiya üçün adı,
Siz yalnız zəng etdiyiniz əgər əlbəttə bir yerdə,
niyə, kodu yığılan narahat proqramçılar ağıl yığılan
və adı kosmik həqiqətən rəmzləri
Siz, həqiqətən, yoxdur ki, qayğı lazımdır.
Belə ki, burada bu versiya,
Mən zəng edirəm ki, görürsünüz window.SetInterval birbaşa
çox üst mənim script tag sonra keçən alıram
adsız funksiyası ki, dəlilləri yox edir
ki, mükəmməl var gözəl və sonra bədən
ki, funksiya görünür Bu əvvəl nə üçün eyni
və yalnız sintaktik fərq indi
aşağı burada yanında 500.
Mən bədən bağlayacaqdım funksiyası
və sonra mən deyirəm ki, əvvəlki kodu yerinə,
hər 500 ms.
Belə ki, çox marjinal dəyişiklik
lakin nə doğru bir addım yəqin ki, bir daha zərif
Bu həyata keçirilməsi.
Belə ki, bu bir götürək Mən indi getmək əgər daha addım
blink iki daxil will ümumi kitabxana görmək,
olan təsiri gedir
tamamilə önemsiz olmaq biz getmək estetik lakin əgər
burada versiyası iki daxil, bildiriş ki, mənim baş üst,
Mən daxil olduğunuz jQuery son versiyası.
Və sonra aşağı burada, Mən yalnız təmizlənmiş
kodu up, bir az var bir fun dünya olacaq
istifadə edərək davam etmək doğma DOM funksiyaları
və xammal JavaScript sort.
Əslində, JQuery siz bilər kimi bilmək belə məşhur olmuşdur
ki, insanların çoxu yalnız JavaScript ilə münaqişə jQuery
lakin həqiqətən yalnız bir şam yeməyi yazılı faydalı kitabxana
John adlı bir yoldaş tərəfindən Resig və başqaları ildən
yalnız bir edir ki, yorucu şeylər çox
JavaScript asan və daha yığcam.
Belə ki, bu halda burada nə olub?
Belə ki, mən bu görünüşü var daha bir dollar işarəsi,
yalnız bir an, sonra bu bir CSS selector edir.
Belə ki, çox oxşar Mən əvvəl nə ruh,
lakin bu zaman, mən sanki hash tag istifadə edərək,
unikal göstərir təbrik adlı identifikatoru
və sonra yəqin . Css inşa metodu
üçün nə obyekt Mən yalnız yaratdı
və mən dəyər yoxlanılması alıram görünürlüğünü əsas.
Və əgər əsas dəyəri , bərabərdir bərabərdir bərabərdir, gizli,
sonra mən onu dəyişdirmək üçün gedən və alıram Mən bu dəfə keçid gedirəm
eyni metodu istifadə edərək olan yəqin yüklənmir
var ki, mənada iki müxtəlif imzalar,
bir arqumenti ilə bir və iki dəlilləri ilə bir,
olan ikinci Bu qoyan deyil,
olan keçmiş bir törədici belə danışmaq.
Və əgər maraqlı və siz istədiyiniz əgər əslində, bu baxdı heç vaxt
inşallah jquery.css getmək əgər üst hit həqiqətən bu
və bir daha çox edə bilərsiniz formal izahat
biz yalnız bu istifadə ki, . Mülkiyyət adı ilə css
və sonra qoyan dot CSS edir
bir mülkiyyət adı ilə və bir dəyər.
Belə ki, cüzi təmiz, lakin burada model sort fərq
hər iteration ilə bu kodu,
biz növ bunu edirik möhkəm və sıx və möhkəm
və daha yaxşı dizayn var demək
biz kimsə yana istifadə aradan ki, başqa kodu
mürəkkəbliyi bəzi.
Belə ki, indi edək Bu hətta sadə.
Və əslində, əgər mən aradan qaldırılması bütün Siz yalnız bütün görəcəksiniz quotes
Siz necə görürsünüz şərh sadə bu kazanılmış etmişdir.
Bir fərq burada kurs
Mən bir keçid istifadə edirəm ki, də inşa gəlir metodu
jQuery və yalnız var üçün
çünki başqa kimsə kodu yazdı
ki, həqiqətən toggles görünürlüğünü qəbulu
bir DOM element Siz onu göndərmək.
Belə ki, daha yaxşı və daha yaxşı.
Belə ki, bu model,
bu bir şam yeməyi olsa sadə misal və sort
axmaq xalis təsiri olan mətn bir yanıb-sönən parça,
Düşüncə ki növü var Sizcə lazımdır ki, prosesi -
haqqında düşünür ola mütləq ilk
passiv yazı şey qarşıdakı layihə üçün
lakin əlbəttə ki, siz təkrarlamaq kimi Sizin məsləhətçisi və ya mənə
və sizin komanda görüşlər və ya yalnız komanda yoldaşları kodunu incelemek
sıxma haqqında şeyi, sağ?
Bütün sonra, onlar az istəyirik -
kod az xətləri Əgər son nəticədə var
nəzəriyyəsinin az bugs dəvət ehtimalı var
sadəcə var ilə mess qədər az kodu.
Bütün hüquqlar.
Belə ki, takeaways bir neçə.
Lambda funksiyaları, anonim funksiyaları,
siz çox əvvəl görmüşəm
və sonra da yalnız sıxma bir kitabxana ilə şeyi up
Bu jQuery kimi xüsusi halda.
Bütün hüquqlar.
Hər hansı bir sualınız?
Digər bir həll edək burada klient aspekt,
şəklində sıfır var Bu xalis təsiri.
Yəqin Super sadə formada və Mən burada qeydiyyatdan basın cəhd edin,
əvvəlcə siz mənə deyir qeydə, yaxşı, deyil, həqiqətən.
Yaxşı, niyə ki?
Yaxşı, burada form-0.html var çox az kodu,
heç bir JavaScript heç və tamamilə saxta sort var
şəklində çünki fəaliyyət dəyəri registered.html edir
olan nə olursa olsun deməkdir Mən bu formaya yazın
bu hara gedir server göndərilir?
Bəli. Belə ki, registered.html üçün olan açıq-aydın bir HTML faylı
Buna görə də statik olan heç bir vasitə olan fayl
fərz istifadəçi daxil alaraq JavaScript kodu var
bu əlaqədar ki, URL axtarır
bu tamamilə bir NOOP və ki, heç bir şey gedir
bir təqdim data, lakin Siz strukturu edə bilərsiniz
kifayət qədər sadə HTML5 şəklində
ki, bir neçə parol var, Bir neçə giriş növləri.
Belə ki, əslində indi edək bəzi səhv yoxlanılması əlavə
və necə biz bilər təkmilləşdirilməsi.
Belə ki, burada sort bir zəifdir Bu həyata insanın yolu
və bu cür bir var kodu murdar yığın.
Belə ki, ilk edək gedin dibinə
eyni görmek üçün və nə müxtəlif var.
Müxtəlif yalnız bir şey İndi bu arasında
və əvvəlki versiyası I forma və ID verilmiş etdiyiniz
"qeydiyyat" bilər və Mən istəyirəm olmuşdur bir şey var
lakin onun unikal nəzərdə müəyyən edilə bilən belə ki, deyil
ciddi zəruri çünki əgər səhifə yalnız şübhəsiz ki, bir forma var mən
biri ilə tapa bilər jQuery nin selector üsulları.
Amma bu yol yalnız edir daha deterministic.
Belə ki, mən script indi getmək əgər tag, aşağıdakı bildiriş
window.onload bərabər anonim funksiyası.
Belə ki, bu nə edir?
Belə ki, siz ki, xatırlayıram bilər klient proqramlaşdırma -
JavaScript olduqca HTML pages müxtəlif hadisələr bağlı ola
elementləri tıklayarak ilə və təqdim və diqqət
və blurring və digər bu kimi ola bilər ki, hadisələr
adətən bir istifadəçi kimi Səhifənin ilə qarşılıqlı,
window.onload deyir nə.
Windows bütün loading
belə bir dəfə bütün images olmuşdur bütün faylları bir dəfə var nazil
dəfə nazil edilmişdir Səhifə yüklənən edilmişdir,
aşağıdakı kodu, və Mən altındakı keçid əgər bildiriş
Bu metodun, qeyd edir ki, heç bir mötərizə var
buruq burğu sonra demək olan
Mən icra deyiləm ki, İndi burada bu funksiya,
brauzer icra gedir bu müəyyən zaman mənim üçün
Səhifə yüklənən ki.
Belə ki, biz etdik nə edək,
document.getElementById qeyd
belə ki, yalnız mənə verir node istinad
var ki, ağac qeydiyyatının bir ID.
Və indi mən gedirəm başqa hadisə handler qeydiyyatdan
form.onsubmit olur etməklə bu anonim funksiyası
aşağıdakı deməkdir kodu icra etməlidir zaman
ki, forması təqdim edilir.
İndi bu ən yalnız sort məntiq qazma.
Belə ki, əgər dəyəri şəklində email sahədir
"Heç bir şey" sonra siz Sizin e-mail,
Bir ilə istifadəçi fəğan xəbərdarlıq və sonra saxta qayıtmaq.
Və sonra mən var digər yoxlamaların dəstə,
parol üçün çek,
çeklərin əgər parol, eyni
çeklərin əgər müqavilə onay qutusu yoxlanılır və ya deyil
və mən yalnız fəğan istifadəçi əgər
həmin testlər həqiqətən uğursuz.
Və belə ki, burada nümunə hətta bir az contrived var baxmayaraq
mən istifadə edirəm ki, burada fakt , bərabərdir bərabərdir bərabərdir
o deməkdir ki, istifadəçi məni bezemek üçün cəhd edə bilər
nə dəyəri yazaraq.
Doğrusu mən həqiqətən deyiləm iştirakı üçün yoxlanılması
boş string, istifadəçi hələ bir şey tipli deyil.
Əgər istifadəçi Yığdığınız , sözün sıfır
"Sıfır" potensial ola bilər boş simli ilə qarışdı.
Mən bu cür demək burada mənasız
açıq-aydın hətta sıfır çünki bir e-mail deyil.
Amma bu daha çox idi əgər bir mətn sahəsində kimi ümumi sahə
və ya adı və ya təsviri və ya Sizin üçün dəyər istəyirəm bir şey
və bu, mütləq deyil syntactically var
bir e-poçt ünvanı, istifadəçi olmaq sıfır kimi bir şey yazın bilər
və yenə künc halda lakin var niyə adətən növləri yoxlanması
bir faydalı şey.
Siz həqiqətən kontrol edirik istifadəçi heç tipli edərək
Bu sahədə daxil.
Belə ki, nə olar heç biri bu testlər, yaxşı, uğursuz
doğru daxilində qaytarılması bir hadisə handler
kimi onsubmit yalnız edək deməkdir orijinal davranış həqiqətən
Buna görə də təbliğ və şəklində təqdim edəcək.
Və niyə mən nəhayət var Mən var əvvəl təqdim tıklanmaktan
vasitəsilə register.html və Mən indi bunu əgər, bildiriş,
Mən əgər yelled almaq bir e-mail
və mən yazın malan@harvard.edu,
allıq [fonetik] allıq, kutuyu işaretleyerek,
və indi qeydiyyatdan yenə, mənə deyir,
Siz qeydiyyatdan və ya həqiqətən.
Bütün hüquqlar.
Belə ki, yalnız bir bu təmiz bildirin sonra az və keçid
yeni yeni üçün server yan stuff.
Belə ki, mən form-2.html getmək əgər, bir neçə şeyi qeyd.
Belə ki, bir mən gətirdi geri mix jQuery
belə ki, yenidən Bu dollar işarəsi
və indi mən istifadə edirəm bəzi jQuery üsulları.
Belə ki, ilk, bu barədə nə olan dollar işarəsi
burada belə xüsusi?
Dollar işarəsi qaytanlanmış nədir ən hər hansı bir jQuery kodu ərzində?
Bəli.
[Işitilemez Remark]
OK. Belə ki, dollar işarəsi funksiyası axtarır DOM keçir
bu ilə bir şey üçün xüsusi CSS selector.
Belə ki, doğru amma demək olar ki, çox dəqiq.
Yəni nə baş verir Siz simli keçmək
Bu halda kimi, lakin siz bunu həmişə bir simli keçmək lazımdır.
Əslində, Point halda, çox Burada ilk line bu deyil
CSS selector, mən keçən alıram bir Lambda funksiyası.
Belə ki, daha çox, ümumiyyətlə - belə ki, yaxşı cavab lakin çox dəqiq.
Ümumiyyətlə, nə dollar işarəsi təmsil edir?
>> Just jQuery.
>> Bəli. Belə ki, yalnız jQuery və ya yalnız bir funksiyası var
ki, əvvəl bəzi oğlan il yazdı və digər insanlar var
ci ildən inkişaf etmiş sözün default adlanır tərəfindən -
oops, jQuery adlanır.
Bu, sadəcə - çevrilir bir çox fərqli həyata
languages ​​dollar işarəsi bir istifadə mükəmməl etibarlı simvolu
bir dəyişən adı halbuki da
PHP dollar işarəsi açıq-aydın xüsusi mənası var
lakin JavaScript kimi bəzi dillər, dollar işarəsi
və vurğulayır və digər bu kimi xüsusi simvol tamamilə legit
öz rəmzi istifadə etmək dəyişənlərin üçün adları.
Belə ki, kimsə yalnız qərar ki, nə?
Bu olduqca yorucu olacaq
bütün dünyanı etmək jQuery bütün vaxt, zaman yazın
mənə Sıralama əkmək bildirin yer payı və demək,
"Bu kitabxana olacaq dollar işarəsi istifadə edin. "
Və əslində, bu risk qaldırmaq yoxdur
ki presumptuously başqası dollar işarəsi istifadə edir
onun kitabxana lakin üçün növ təmin etmək yolu var
ki, siz dollar istifadə edərkən Bu jQuery maps imzalamaq
Siz test edə bilərsiniz, çünki əgər artıq təyin edilmişdir
mahiyyətcə başqa bir şey.
Bütün hüquqlar.
Belə ki, bütün var ki, , heç bir sehrli var edir.
Bu axtarır yalnız bir sexy var gözəl olduğunu sintaksis parça
və sürətli və asandır.
Zaman, nə olur dollar işarəsi açıq paren yazın
və sonra anonim funksiyası.
Bəli, bu çıxır ki həqiqətən stenoqrafiya notation
sənəd nöqtə üçün hazır açıq paren.
Belə ki, Cynthia fərq əvvəllər biz artıq aşkar bir
künc halda.
Yalnız keçmək Əgər Bu lambda funksiyası,
dolların təsiri Bürc bir az fərqli.
Əslində, nə həqiqətən baş bu ekvivalent ki,
istinad keçən qlobal sənəd obyekt
ki, kimi qlobal pəncərə obyekt
ki, siz bəzi verir xüsusi funksionallığı
ki, bütün səhifə təsir və ya browser və çevrilir
ki, sənədin zaman jQuery ilə kesmek,
jQuery mahiyyətcə həyata keçirir oh, bu istinad edir
xüsusi sənəd obyekt üçün,
Mənə indi qeydiyyatdan imkan bir hadisə handler hazır adlı
doğma deyil JavaScript və ya DOM bağlı.
Hazır jQuery deyir ki, şey
Səhifə yüklənən zaman HTML elementləri bütün
lakin mütləq dolu deyil, CSS və bütün şəkilləri
JavaScript faylları və faylları və hoşlandığı flash.
Belə ki, əvvəl bir addım var yük sonra irəli getmək
və aşağıdakı icra.
Və hazır istifadə ayaq vasitələri, siz bilirik ki,
ki, bütün öğeleri sizin DOM,
benzersiz təyin bütün kimlikleri ilə şeyi, hətta mövcud
əgər səhifə, onun məzmunu hələ yükləmə və loading olunur
və bəzi bir an üçün broken nişanlar
və ya fonunda ağ səhifə.
Bəli.
>> Nə olardı [Işitilemez] əgər?
>> Perfect Məsələn, mükəmməl sual.
Belə ki, biz əgər nin görək indi bu simülasyonu.
Belə ki, mənə irəli getmək və silmək imkan burada və sonra bu iki xətləri
düzeltmek üçün narahat olmadan abzas, mənə gedək qabaqda
və burada bu aşağı silmək - oops, aşağı burada bu.
İndi, mənə üzərində gedək səhifə form-2.html və növü getmək
Qeydiyyat, heç bir şey görünürdü baş, deyək, nə idi ki,
nin irəli getmək və açaq Chrome-nin müfəttişi up,
yalnız görmək üçün konsol açmaq bir şey burada baş verərsə, indi,
, hələ heç bir şey qeydiyyatdan.
Belə ki, kodu syntactically edir gözəl
mən bir göremiyorum qırmızı hata mesajları,
ancaq aydın nə baş deyil?
Mənim kodu Yox, sağ belə iş deyil none
Mənim kodları görünür belə ki, niyə bu, həyata?
Yaxşı, JavaScript və brauzerlər ümumiyyətlə icra edilən
bir web page, üst məzmunu alt, sağ.
Və problem deyil ki, çünki top
Bu səhifənin HTML sonra rəhbərlik etmişdir sonra script sonra başqa bir script,
Bu edam almaq üçün gedir hətta hazır nə əvvəl,
və ya hətta ağac var Səhifənin nümayəndəliyi.
Forması özü deyil, hətta bədən bu nöqtədə mövcuddur.
Belə ki, jQuery kifayət qədər ağıllı deyil bu səhv yoxlanılması ilə
ki, heç bir element ilə olduqda qeydiyyat unikal ID,
Bu etmək niyyətində deyil sizə zamin
və yalnız bir konsol tetiklemek səhv və bütün səhifə qırmaq,
səssizcə ignore olacaq Siz, lakin səbəbi heç biri
bu kodu heç olunur icra
Siz zaman çünki Bu, handler təqdim qeydə
heç bir element var idi onu əlavə etmək.
Belə ki, orada sort bir heç op var.
Belə ki, əvəzinə ifadə edərək, yaş dolu qədər gözləyin
biz window.onload əgər sort olan şey
bunu köhnə məktəb yol bu və ya sexier jQuery yol
bu kimi, biz gözləyin demək bütün qədər
o HTML tags var ayrıştırılan edilmişdir ki, hətta
Bu images, yüklü deyil əgər az ki node ağac deyil,
sonra JQuery təmin edilə bilər ki, hər şey var.
Bəli.
[Işitilemez Remark]
Bəli, yaxşı, bəli, tamamilə.
Belə ki, digər həll Bu, bu istifadə olmasaydı
və ya yadda etməyib Bu mövcud,
Siz tamamilə hərəkət edə bilər alt bütün bu
web page, daxilində lakin hələ şəklində aşağıda bədən
ki, istəyirik bu problemi həll edir.
Bu, yalnız adətən var pis təcrübə hesab.
Bu bir az messy var və sloppy xüsusi
hər şeyi parazit saxlamaq əgər Səhifənin altına,
Mən saxlama alıram xüsusilə bütün qoyaraq sadə şeylər
daxili mənim kodu HTML səhifə
zaman, əlbəttə əlbəttə ki, vərdiş halına almaq
onu faktorinq ayrı bir fayl
yalnız gözəl olan nöqtədə
mərkəzləşdirmək üçün baş faylları.
Siz ödəmək qiymət var istisna olmaqla,
JavaScript qoyaraq CSS faylları kimi başqa aktivlər
Səhifənin rəhbəri, Siz run ki, bir risk nədir?
>> Yavaş səhifə loading.
>> Yavaş səhifə loading, niyə?
>> Biz çalışırıq Çünki bütün kitabxana yüklemek üçün
[Işitilemez] əvvəl.
Məhz >> çünki brauzerlər alt kodu üst oxumaq,
sağ əgər Google analytics yavaş
və ya jQuery CDN yavaş və ya Facebook API yavaş
ki, fayl yalnız askıda potensial olaraq
Siz fayl yüklənmiş necə haqqında, bütün səhifə asmaq üçün görünür bilər.
Və bu görürsünüzsə bir çox səmimi
web onlar bir çox var aşağı keyfiyyətli reklam
onlara, biz yalnız yavaş bir və ya etdiyiniz downed veb səhifəsinə asmaq bilər
bir qeyri-müəyyən üçün saniyə sayı
browser nəhayət qədər ki, həyata ümid dəfə
və sonra göstərir Səhifənin qalan.
Belə ki, heç kimi istifadə etdiyiniz halda düyməsini kimi Facebook,
web page, mənə bildirin Bu tapa bilərsiniz əgər baxın
burada daxil olmadan.
Belə ki, siz getmək əgər Facebook kimi düyməsinə
və lənət olsun, get kodu basın,
biz əgər görmək imkan verir nümunə tapmaq
şübhəsiz ki, kimsə bu yerləşdirib.
[Pause]
Mən bir neçə qədər verəcəyik biz bu görmürəm əgər saniyə.
Facebook asynch - OK.
Belə ki, bu kodu olmadıqca onlar bu yaxınlarda onu değiştirdik
ki, Facebook həqiqətən istifadə tövsiyə
onların kitabxana yüklemek üçün və həqiqətən təklif
Siz bu qoymaq ki, Sizin səhifə orqanı.
Belə ki, Facebook sizə məsləhət görür axmaq DIV bir növ yaratmaq
yalnız unikal ID kimi var Bu, sonra bir script tag var
və bu mürəkkəblik bütün mahiyyətcə aşağıdakı yoxdur
və hər hansı bir jQuery istifadə etməyin onlar istəmirəm, çünki
hər hansı digər güman asılı,
mənə bu hərəkət edək yalnız bir az üzərində.
Belə ki, onlar var fark burada anonim funksiyası,
, yalnız bir an ki, daha çox
Onlar istifadə Haqqında,
onlar DOM element yaradılması edirik, bu belə danışmaq malloc kimi
tag növü olduğu script, sonra ifadə edir
ki, async atribut ki, tag gedir
doğru olmaq sonra davam və nə URL anlamaq
Facebook JavaScript olmalıdır
və bu, yalnız xülya yoldur
yoxlanılması olmalıdır Bu HGP və ya HDPS ola bilər.
Və sonra nəhayət, siz , Facebook nə görürsünüz
Onlar DOM node almaq Facebook kök bir ID var
Onlara nə olan Siz page qoymaq
və onlar uşaq əlavə bu bütün təsiri
sort dinamik yeritmək üçün Sizin səhifə yeni bir script tag
DIV bir uşaq kimi ki, orada daxil ki istirahət
məsud səhifə yüklərin
və sonra bu kodu həqiqətən asynchronously yüklənmiş olur.
Belə ki, mahiyyətcə sonra fakt və təxirə salınmış qeyd
anonim funksiyası,
Bu funky nədir syntax burada istinad
Mən funksiyası yalnız zaman paren, yaxın paren açmaq
və sonra qıvrım aşırma, Burada niyə açıq paren
və sonra açıq, yaxın orada paren, nə var?
>> [Işitilemez] müəyyən və sonra icra?
Məhz >>, bir müəyyən oldu anonim olan funksiyası
lakin yalnız bir funksiyası müəyyən
əlbəttə icra etmir Siz zəng qədər bir funksiyası
adı, lakin əlbəttə bu anonim funksiyası edir
belə ki, bu zəng edə bilməz adı ilə ancaq siz
JavaScript icra anonim funksiyası yalnız
bütün şey encapsulating tərəfindən mötərizə etdik kimi
Bu paren və bu ilə burada və sonra təyinat paren
funksiyası sonuna açıq paren, yaxın paren,
Siz istəmirsinizsə hər hansı bir arqumentlər keçir.
Amma bu cür axmaq görünür
kimi niyə bu əlavə sintaktik mürəkkəbliyi
insanların çoxu görünür ki, tanımaq, dəyəri nə
o wrapping kodu üç xətləri
anonim funksiyası bu şəkildə.
Bəli.
>> Yadda qarşısını almaq üçün bir [işitilemez] qiymətli.
Məhz >> qarşısını almaq üçün bir dəyişən yadda
mövcud səhifəsində, sağ?
Facebook bir qədər presumptuously qərar,
onlar istifadə etmək olacaq dəyişən E, bu, çox ehtimal var
ki, siz və ya istifadə hər kəs düyməsini kimi Facebook
və ya hər hansı digər sosial plug
bir dəyişən var haradasa E. adlanan,
bütün encapsulating tərəfindən daxili kodu
bu anonim funksiyası, onlar mahiyyətcə öz daxilində var
ki clobbering risk etmir mövcud dəyişənlər.
Belə ki, bu çox əslində bir çox ümumi paradiqma
yazılı xüsusilə kitabxana kodu
və ya özünüz nə zaman adı yer etmek istəyirəm
digər dəyişənlərin ilə dəyəri yaşamaq istəyirik
Siz çıxmaq bir dəfə və die kodu məhəllə,
Bu gözəl texnika JavaScript.
Bütün hüquqlar.
Belə ki, bu misal geri burada, biz sonunda etdik
Bu nümunə ilə yalnız kodu təmizlənməlidir.
Belə ki, hələ bir bütün var açarları dəstə, bütün dəstə
burada şərait, lakin sintaksis bir az fərq,
Bu DOM node ilə çatmaz unikal ID qeydiyyatı,
kosmik vasitələri üçün baxmaq ki node nəslindən,
bu növü əgər tapmaq giriş və sonra
Bu görməmişik əgər əvvəl, bildiyiniz
Bu yalnız tapmaq deməkdir ki, Bu giriş tag ilə,
bir var ki, giriş elementləri dəyəri ilə adı atributu
e-poçt, və sonra bildirin Mənə bir mənim əl dalğa
qalan deyil bütün stimullaşdırıcı
lakin həqiqətən yalnız jQuery sintaksis eyni əməliyyatları üçün.
Bütün hüquqlar.
Amma nə qədər əhəmiyyətli deyil burada browser yan stuff deyil
əksinə əslində biz təmiz və təmiz yolları idi
həqiqətən edilməsi ki, kodu iş.
Bütün hüquqlar.
Hər hansı bir sualınız?
[Işitilemez Remark]
OK. İndi fun hissəsi.
Niyə Belə ki, Node.js?
Kim qayğıları?
Bu gün bunun nə bilirik?
Node.js, niyə?
Henry [yazım güman].
[Işitilemez Remark]
Batareya reset?
Nə - bu deyil mükəmməl cliff askı
bu gün ikinci yarısı üçün.
Niyə biz getmək və etmirlər burada 5 dəqiqə fasilə,
yarım konfet var orada maşın siz ki, əgər
olmadan bir konfet kimi daxil dörddə qoyulması