1 00:00:00,000 --> 00:00:03,840 >> [MUSIC PLAYING] 2 00:00:03,840 --> 00:00:05,770 3 00:00:05,770 --> 00:00:08,690 >> DOUG LLOYD: indi Beləliklə, biz köhnə edirik web proqramlaşdırma müsbət, sağ? 4 00:00:08,690 --> 00:00:12,140 Və biz bir neçə əhatə etdik fərdi video languages. 5 00:00:12,140 --> 00:00:14,690 İndi bir daha JavaScript edək. 6 00:00:14,690 --> 00:00:17,370 >> First yaxşı xəbər, JavaScript müasir proqramlaşdırma var 7 00:00:17,370 --> 00:00:21,410 Onun PHP kimi çox dil syntax, C irəli gəlir 8 00:00:21,410 --> 00:00:22,830 belə ki, başlamaq üçün yaxşı bir yerdir. 9 00:00:22,830 --> 00:00:25,880 Bu, həmçinin, PHP kimi köhnə haqqında 20 il ətrafında olmuşdur. 10 00:00:25,880 --> 00:00:28,600 Bu ətrafında icad edilmişdir PHP eyni vaxt. 11 00:00:28,600 --> 00:00:32,240 Və JavaScript olduqca əslində istifadəçi experience üçün əsas 12 00:00:32,240 --> 00:00:32,740 web. 13 00:00:32,740 --> 00:00:34,448 Əslində var üç dildə ki, mən 14 00:00:34,448 --> 00:00:38,480 etmək sort deyərdim əlaqə user experience 15 00:00:38,480 --> 00:00:42,650 veb ilə, html, CSS və JavaScript. 16 00:00:42,650 --> 00:00:46,030 Və belə ki, indi bir danışaq JavaScript haqqında az. 17 00:00:46,030 --> 00:00:50,301 >> Pis xəbər, baxmayaraq ki, ilə JavaScript edir özü qaydaları bir çox edir ki, 18 00:00:50,301 --> 00:00:51,300 və sonra onları pozur. 19 00:00:51,300 --> 00:00:54,010 Və JavaScript həqiqətən ola bilər cür öyrənmək çətin, 20 00:00:54,010 --> 00:00:57,000 Bu C fərqli olaraq, çünki və Çox strukturlaşdırılmış olunur PHP, 21 00:00:57,000 --> 00:01:00,270 və çox sərt qaydaları şeyi işləyə bilər necə. 22 00:01:00,270 --> 00:01:03,690 JavaScript cür var belə çevik kazanılmış 23 00:01:03,690 --> 00:01:06,650 bəlkə hər şeyi etmək niyyətində deyil biz onları gözləyirik yol iş 24 00:01:06,650 --> 00:01:09,830 və bəlkə biz, həqiqətən, öyrənmək bilməz ilk proqramlaşdırma dili 25 00:01:09,830 --> 00:01:10,769 bir JavaScript kimi. 26 00:01:10,769 --> 00:01:12,810 Belə ki, bəlkə bu deyil, çünki özü heç bir qaydalar müəyyən, 27 00:01:12,810 --> 00:01:15,754 və bu, həqiqətən deyil yaxşı kodlaşdırma vərdişləri həyata. 28 00:01:15,754 --> 00:01:18,170 Amma indi biz inşallah inkişaf etdik yaxşı kodlaşdırma vərdişləri, 29 00:01:18,170 --> 00:01:21,470 və biz basqını başlaya bilərsiniz JavaScript bir az. 30 00:01:21,470 --> 00:01:25,750 >> Açılmasına bənzər JavaScript yazmaq bir dot C uzadılması ilə C faylı 31 00:01:25,750 --> 00:01:29,770 və ya dot PHP uzadılması ilə PHP fayl, biz nə etmək lazımdır bütün bir fayl açmaq deyil 32 00:01:29,770 --> 00:01:31,764 Dot js fayl uzantısı ilə. 33 00:01:31,764 --> 00:01:34,430 Biz hər hansı bir xüsusi var ehtiyac yoxdur biz kimi sınırlayıcıları PHP etdi. 34 00:01:34,430 --> 00:01:36,750 Bucaq ki, sort bracket sual işarəsi PHP 35 00:01:36,750 --> 00:01:40,300 biz ki, yol üçün istifadə etdiyiniz biz nə olduğunu biz browser demək 36 00:01:40,300 --> 00:01:43,502 JavaScript o cümlədən var bir html tag ki, 37 00:01:43,502 --> 00:01:46,210 və biz bir az görürsünüz necə yalnız bir anda bunu. 38 00:01:46,210 --> 00:01:48,210 >> edir, başqa şey Müxtəlif JavaScript, 39 00:01:48,210 --> 00:01:50,580 baxmayaraq ki, bu klient çalışır ki. 40 00:01:50,580 --> 00:01:53,430 Belə ki, PHP ilə geri ki, biz, həqiqətən, görmək heç bilər 41 00:01:53,430 --> 00:01:57,041 Bir web vurğulayıb PHP. 42 00:01:57,041 --> 00:01:59,040 Biz heç araşdırdı əgər səhifə mənbə, biz yalnız ki 43 00:01:59,040 --> 00:02:02,830 idi html görmək ki, PHP tərəfindən. 44 00:02:02,830 --> 00:02:04,900 Amma JavaScript klient çalışır. 45 00:02:04,900 --> 00:02:06,710 Sizin JavaScript kompüter çalışır. 46 00:02:06,710 --> 00:02:09,050 Siz edə bilərsiniz ki, var şeyi blokerlerinin əlavə istəyirəm. 47 00:02:09,050 --> 00:02:09,550 Sağ? 48 00:02:09,550 --> 00:02:12,704 Ad blok adətən edilir JavaScript bütün həlak 49 00:02:12,704 --> 00:02:14,370 ki, müəyyən bir web çalışır. 50 00:02:14,370 --> 00:02:19,000 Və bu etmək olardı, çünki maşın müştəri tərəfində run, 51 00:02:19,000 --> 00:02:21,910 yalnız dayandıra bilər Tamamilə çalışan JavaScript. 52 00:02:21,910 --> 00:02:27,030 Bu da istifadə edərkən o deməkdir ki, JavaScript olan bir bax, 53 00:02:27,030 --> 00:02:32,450 Siz JavaScript mənbə göndərmək üçün Sizin http cavab hissəsi kimi code 54 00:02:32,450 --> 00:02:34,159 müştəri onlar tələb zaman. 55 00:02:34,159 --> 00:02:35,950 Və belə ki, deyil bilər JavaScript istifadə etmək istədiyiniz 56 00:02:35,950 --> 00:02:38,395 həqiqətən həssas şeyə keçən məlumat kimi 57 00:02:38,395 --> 00:02:41,020 istifadəçilərin parol geri haqqında irəli, çünki onlar həqiqətən istəyirik 58 00:02:41,020 --> 00:02:45,610 mənbə kodu bütün almaq üçün gedir, yaradılan yalnız html, 59 00:02:45,610 --> 00:02:49,030 Belə demək PHP ilə hal olardı kimi. 60 00:02:49,030 --> 00:02:51,620 >> Belə ki, necə biz JavaScript daxildir Bizim HTML başlamaq üçün? 61 00:02:51,620 --> 00:02:54,520 CSS oxşar Yaxşı, həqiqətən, biz burada bunu necə sortudur. 62 00:02:54,520 --> 00:02:56,190 CSS ilə biz stil tags var. 63 00:02:56,190 --> 00:03:00,760 Və bu stil tags daxilində, bir CSS stil müəyyən edə bilərsiniz. 64 00:03:00,760 --> 00:03:03,450 Eynilə JavaScript biz script tags qədər aça bilər, 65 00:03:03,450 --> 00:03:06,660 başqa html tag etmədik Bizim html video haqqında danışmaq, 66 00:03:06,660 --> 00:03:09,720 və JavaScript yazmaq bu script tags arasında. 67 00:03:09,720 --> 00:03:13,960 Həmçinin, baxmayaraq ki, kimi CSS, biz CSS faylları xaricində keçid bilər 68 00:03:13,960 --> 00:03:15,900 və proqram yol onları çəkin. 69 00:03:15,900 --> 00:03:18,280 CSS ilə biz, həmçinin JavaScript, pardon 70 00:03:18,280 --> 00:03:23,240 biz də mənbə daxil edə bilərsiniz script tag atribut 71 00:03:23,240 --> 00:03:25,720 JavaScript keçid ayrı-ayrı, belə ki, yoxdur 72 00:03:25,720 --> 00:03:27,680 yazmaq üçün script tags arasında, biz 73 00:03:27,680 --> 00:03:29,600 istifadə keçid edə bilərsiniz ki, script tag həmçinin. 74 00:03:29,600 --> 00:03:33,230 Və yalnız CSS harada işi ilə kimi Biz yəqin ki, idi ki, tövsiyə 75 00:03:33,230 --> 00:03:36,090 ən yaxşı maraq yazmaq halda ayrı bir fayl üçün CSS 76 00:03:36,090 --> 00:03:38,500 Siz onu dəyişdirmək lazımdır, eynilə biz tövsiyə edirsiniz 77 00:03:38,500 --> 00:03:40,720 siz yazmaq Ayrı-ayrı faylları JavaScript 78 00:03:40,720 --> 00:03:45,460 və script tags mənbə istifadə JavaScript bağlamaq aid 79 00:03:45,460 --> 00:03:49,520 HTML, web page. 80 00:03:49,520 --> 00:03:52,610 >> Belə ki, JavaScript dəyişənlər alacağıq burada sintaksis haqqında danışmağa başlayın. 81 00:03:52,610 --> 00:03:53,600 Və biz keçmək lazımdır tez bu cür, 82 00:03:53,600 --> 00:03:56,640 biz belə, PHP bunu etdik, çünki bu olduqca tanış olmalıdır. 83 00:03:56,640 --> 00:03:59,490 Belə ki, JavaScript dəyişənlər var dəyişənlərin PHP çox oxşar. 84 00:03:59,490 --> 00:04:03,270 Heç bir növü belirteci, və Bir dəyişən təqdim zaman, 85 00:04:03,270 --> 00:04:05,070 Siz var söz ilə prefiks. 86 00:04:05,070 --> 00:04:07,750 PHP biz bir şey nə olardı bu kimi dollar işarəsi x. 87 00:04:07,750 --> 00:04:09,950 Biz göstərilən necə ki dəyişən, lakin heç bir, biz 88 00:04:09,950 --> 00:04:12,060 növü qeyd yoxdur dəyişən bütün. 89 00:04:12,060 --> 00:04:15,124 Biz kimi bir şey demək olardı dollar işarəsi x PHP 44 bərabərdir. 90 00:04:15,124 --> 00:04:17,040 Biz bunu olsaydı JavaScript eyni şey, 91 00:04:17,040 --> 00:04:19,589 biz var x 44 bərabərdir demək olardı. 92 00:04:19,589 --> 00:04:22,780 Belə ki, var yolumuza sort bir dəyişən tətbiqi. 93 00:04:22,780 --> 00:04:26,850 Ki, bəlkə bir az daha asan var yalnız dollar işarəsi dəyişən çox. 94 00:04:26,850 --> 00:04:29,080 >> Yenə var-ci ildən heç bir məlumat növləri, biz bunu edə bilər 95 00:04:29,080 --> 00:04:34,490 hər hansı bir məlumat növü ilə, strings, başqa bir şey bütün var olacaq. 96 00:04:34,490 --> 00:04:37,260 Bir Conditionals bütün C və PHP köhnə dostlar 97 00:04:37,260 --> 00:04:41,640 hələ də mövcuddur, belə ki, biz əgər var, başqa, əgər başqa, keçid və sual 98 00:04:41,640 --> 00:04:42,240 mark colon. 99 00:04:42,240 --> 00:04:45,890 Bu kimi çevik qalan keçid PHP idi, lakin siz etdiyiniz bütün bunlar 100 00:04:45,890 --> 00:04:46,930 indi tanış. 101 00:04:46,930 --> 00:04:49,900 Və loops var eyni ilə müddət köhnə Seçilmişlərə, 102 00:04:49,900 --> 00:04:52,700 isə etmək, bizə hələ də mövcuddur. 103 00:04:52,700 --> 00:04:55,880 Belə ki, artıq biz bir çox bilirik əsasları əsas JavaScript sort 104 00:04:55,880 --> 00:05:01,800 yalnız bir qədər olan əsasında İndi C və PHP haqqında bilik. 105 00:05:01,800 --> 00:05:03,670 >> Nə JavaScript funksiyaları haqqında? 106 00:05:03,670 --> 00:05:08,199 Bəli, bənzər hər funksiyası PHP funksiyası söz ilə təqdim etdi. 107 00:05:08,199 --> 00:05:10,740 Siz funksiyası demək, sonra Sizin funksiyası müəyyən başlayır. 108 00:05:10,740 --> 00:05:12,531 Bir az fərqli nədir JavaScript haqqında, 109 00:05:12,531 --> 00:05:15,700 baxmayaraq üçün bacarığıdır nə anonim funksiyası deyirlər. 110 00:05:15,700 --> 00:05:18,880 Belə ki, funksiyaları müəyyən edə bilərsiniz ki, bir ad yoxdur. 111 00:05:18,880 --> 00:05:21,222 Bu bir şey deyil həqiqətən əvvəl görmədim. 112 00:05:21,222 --> 00:05:23,430 Biz, həqiqətən, anlayışı istifadə edəcəyik anonim funksiyası 113 00:05:23,430 --> 00:05:27,880 bir az sonra bu video, bu lazımdır, çünki 114 00:05:27,880 --> 00:05:31,530 kontekstində bir az daha məntiqli Biz xüsusi bir vəziyyət bunu gördükdə 115 00:05:31,530 --> 00:05:33,120 Mən burada hazırlanmış etdik. 116 00:05:33,120 --> 00:05:35,710 Amma yalnız bir nəzər salaq nə bir sadə JavaScript at 117 00:05:35,710 --> 00:05:37,850 funksiyası kimi baxmaq bilər. 118 00:05:37,850 --> 00:05:40,610 >> Beləliklə, mən qabaqda getdi etdik və Mənim CS50 IDE açdı 119 00:05:40,610 --> 00:05:43,690 və mən artıq Apache run sonra, Mənim server çalışan başlayacaq. 120 00:05:43,690 --> 00:05:46,800 Mən bu fayl var Home.html adlı açıq. 121 00:05:46,800 --> 00:05:48,330 Mən burada bir az zoom lazımdır. 122 00:05:48,330 --> 00:05:52,090 Və əsasən, siz görə bilərsiniz Home.html düymələri bir dəstə var. 123 00:05:52,090 --> 00:05:55,291 Mən burada üst iddia edirəm Bu JavaScript bölüm ki, 124 00:05:55,291 --> 00:05:55,790 materialları. 125 00:05:55,790 --> 00:05:59,490 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? 126 00:05:59,490 --> 00:06:03,662 >> Bəli, mənim IED artıq baş lazımdır, və mən burada açıq Home.html var. 127 00:06:03,662 --> 00:06:05,620 Çox başında, Mən birləşdirən alıram burada 128 00:06:05,620 --> 00:06:07,500 Mənim JavaScript mənbə faylları bütün. 129 00:06:07,500 --> 00:06:08,000 Sağ? 130 00:06:08,000 --> 00:06:12,440 Mən anonymous.js, clock.js var I mənbə atributu istifadə edirəm 131 00:06:12,440 --> 00:06:14,440 script tag fayl keçid. 132 00:06:14,440 --> 00:06:18,660 Belə ki, yazılı deyil hər hansı bir Birbaşa bu fayla JavaScript, 133 00:06:18,660 --> 00:06:21,790 amma çəkdi etdiyiniz bütün JavaScript Mən ayrı-ayrılıqda yazdıq. 134 00:06:21,790 --> 00:06:24,540 Və biz burada, bu aşağı diyirləyin əgər olmalıdır bütün qədər tanış baxmaq 135 00:06:24,540 --> 00:06:27,090 yeni sintaksis bir az. 136 00:06:27,090 --> 00:06:32,655 Biz header tag üçün burada var funksiyaları və sonra düyməsini basın. 137 00:06:32,655 --> 00:06:35,530 Mən bir növü düyməsini var bir giriş var və yəqin mən basın zaman, 138 00:06:35,530 --> 00:06:38,130 Mən bəzi zəng etmək üçün gedirəm alert tarixi fəaliyyət göstərir. 139 00:06:38,130 --> 00:06:41,792 Və bu sort qədər mix edə bilərsiniz necə JavaScript və HTML bir az. 140 00:06:41,792 --> 00:06:44,500 Onlar, həqiqətən, olduqca gözəl oyun birlikdə, və yəqin zaman 141 00:06:44,500 --> 00:06:48,730 Mən bu düyməsini, mən gedirəm basın bir funksiyası alert tarixi zəng etmək üçün. 142 00:06:48,730 --> 00:06:53,660 Və eyni Mən davranışları müəyyən var digər düymələr bütün üçün 143 00:06:53,660 --> 00:06:56,440 ki home.html səhifə var, biz qaytarılması saxlamaq lazımdır ki, 144 00:06:56,440 --> 00:06:59,172 Bu video kurs zamanı. 145 00:06:59,172 --> 00:07:00,880 Amma geri gedək burada nəzər 146 00:07:00,880 --> 00:07:03,850 clock.js da olan JavaScript fayl ki, mən 147 00:07:03,850 --> 00:07:07,370 Bu ilk funksiyası var yazırdı ki, biz nəzər olacaq. 148 00:07:07,370 --> 00:07:11,630 Gördüyünüz kimi, mən JavaScript başlayır söz funksiyası ilə fəaliyyət, 149 00:07:11,630 --> 00:07:14,560 və mən bu bir təqdim etdik adı, alert tarixi deyirlər. 150 00:07:14,560 --> 00:07:18,710 Orada Inside, mən yəqin yaratmaq Cari tarixi adlı yeni bir yerli dəyişən. 151 00:07:18,710 --> 00:07:21,500 Mən təyin gedirəm yeni tarixinə bərabər. 152 00:07:21,500 --> 00:07:24,430 Və biz bir çox daxil ola bilər bir tarix nə kimi ətraflı, 153 00:07:24,430 --> 00:07:27,060 və həqiqətən JavaScript belə big ki, biz bəlkə bilməz 154 00:07:27,060 --> 00:07:28,330 bir video hər şeyi əhatə edir. 155 00:07:28,330 --> 00:07:32,220 Lakin, bu gedir demək kifayətdir bir data item mənə qayıtmaq üçün ki, 156 00:07:32,220 --> 00:07:35,470 cari tarixi və vaxtı kapsüller. 157 00:07:35,470 --> 00:07:39,100 Mən deyiləm bir dəyişən ki, saxlanılması alıram yəqin cari tarixi xəbərdarlıq gedir. 158 00:07:39,100 --> 00:07:41,300 >> Yaxşı, nə siqnalı yoxdur kimi cari tarix baxmaq? 159 00:07:41,300 --> 00:07:46,460 Fayl özü nəzər salaq brauzer pəncərəsində üzərində geri. 160 00:07:46,460 --> 00:07:49,551 Belə ki, yenə bu düyməni ki, mən Bu adlı funksiyası bağlı var. 161 00:07:49,551 --> 00:07:51,800 Və mən orada basın və baxmaq Bu nə, bu alerted. 162 00:07:51,800 --> 00:07:56,140 Bu izah qutusu bu cür atdı Mənə cari vaxt yəqin ki, 163 00:07:56,140 --> 00:07:59,370 Bu Noyabr 4 var Səhər 10:43:43. 164 00:07:59,370 --> 00:08:02,345 Və mən indi yenidən basın əgər bu doğru, daha sonra bir neçə saniyə var? 165 00:08:02,345 --> 00:08:03,720 Belə ki, bütün bu funksiya yoxdur var. 166 00:08:03,720 --> 00:08:07,670 Mən bu düyməsini basın zaman, Mənə bir uyarı mesajı açılır. 167 00:08:07,670 --> 00:08:13,806 168 00:08:13,806 --> 00:08:15,690 Belə ki, həqiqətən yoxdur funksiyaları çox 169 00:08:15,690 --> 00:08:19,110 ki, PHP fərqli yeni sintaksis bir az 170 00:08:19,110 --> 00:08:22,500 ki, JavaScript ilə iş ilə gəlir. 171 00:08:22,500 --> 00:08:24,650 >> JavaScript seriallarda var olduqca sadə. 172 00:08:24,650 --> 00:08:27,200 Bir sıra bəyan etmək üçün, siz istifadə kvadrat mötərizədə syntax 173 00:08:27,200 --> 00:08:30,090 biz PHP ilə tanış olduğunu. 174 00:08:30,090 --> 00:08:33,432 Və PHP oxşar, biz də məlumat növləri mix edə bilərsiniz. 175 00:08:33,432 --> 00:08:35,140 Belə ki, bu array, həm də bu serialların ki 176 00:08:35,140 --> 00:08:36,960 mükəmməl qanuni JavaScript olun. 177 00:08:36,960 --> 00:08:42,500 Bütün integers ki, bir və bir ki, müxtəlif məlumat növləri qarışdırılır olunur. 178 00:08:42,500 --> 00:08:45,020 >> Çox fərqli bir şey nədir JavaScript olsa? 179 00:08:45,020 --> 00:08:47,020 Ki, bir obyekt anlayışı var. 180 00:08:47,020 --> 00:08:50,240 Belə ki, bəlkə eşitdim yönümlü proqramlaşdırma etiraz. 181 00:08:50,240 --> 00:08:53,370 Biz CS50 bunu bir çox yoxdur lakin biz bunu bir az edəcəyik 182 00:08:53,370 --> 00:08:55,670 Burada JavaScript kontekstində. 183 00:08:55,670 --> 00:08:59,100 İndi JavaScript imkanı var bir obyekt yönümlü proqramlaşdırma kimi davranmaq 184 00:08:59,100 --> 00:09:02,615 dil, lakin özü deyil yalnız bir obyekt yönümlü 185 00:09:02,615 --> 00:09:03,490 proqramlaşdırma dili. 186 00:09:03,490 --> 00:09:05,281 Bu yenə gəlir geri Mən belə nə üçün 187 00:09:05,281 --> 00:09:10,610 öyrənmək üçün çox çətin ola bilər Ilk proqramlaşdırma kimi JavaScript 188 00:09:10,610 --> 00:09:13,890 dil, bu deyil, çünki həqiqətən xüsusi bir paradiqma uyğun. 189 00:09:13,890 --> 00:09:16,430 >> Digər tərəfdən C bir funksional proqramlaşdırma dili. 190 00:09:16,430 --> 00:09:22,270 Biz istəyirsinizsə, funksiyaları big boss insan sort, sağ? 191 00:09:22,270 --> 00:09:24,410 Onlar diktə nə başqa hər şey olur. 192 00:09:24,410 --> 00:09:26,600 Biz dəyişənlər dəyişmək istəyirsinizsə, biz funksiyaları zəng. 193 00:09:26,600 --> 00:09:28,220 Biz funksiyaları şeylər. 194 00:09:28,220 --> 00:09:31,250 Bir yerinə obyektləri yönümlü dil etiraz, 195 00:09:31,250 --> 00:09:35,937 sort ulduz olmaq obyektlərin və funksiyaları orta sort olur. 196 00:09:35,937 --> 00:09:38,270 Amma bir obyekt, nə etdiklərini və nə bir obyekt bu anlayışdır? 197 00:09:38,270 --> 00:09:40,880 Bəli, bu kömək edir, hesab edirəm ki, ilk növ bu barədə 198 00:09:40,880 --> 00:09:44,540 bir C strukturu və ya bir struct kimi ki, biz əvvəl öyrəndim. 199 00:09:44,540 --> 00:09:47,430 C, bir quruluş var sahələrdə bir sıra, 200 00:09:47,430 --> 00:09:51,174 və bəlkə biz indi başlaya bilər bu sahələrdə xassələri çağırırıq. 201 00:09:51,174 --> 00:09:53,590 Amma xassələri həqiqətən sağ, öz durmaq? 202 00:09:53,590 --> 00:09:56,410 Mən bir avtomobil üçün bir quruluşa müəyyən əgər aşağıdakı iki ilə bu kimi 203 00:09:56,410 --> 00:10:00,750 sahələri və ya xassələri, bir an avtomobil-ci il üçün tam 204 00:10:00,750 --> 00:10:04,290 və başqa 10 xarakter avtomobilin model üçün simli, 205 00:10:04,290 --> 00:10:07,150 Mən bu kimi bir şey demək olar Mən yeni bir dəyişən elan edə bilər 206 00:10:07,150 --> 00:10:10,080 növü struct avtomobil Herbi edir. 207 00:10:10,080 --> 00:10:13,730 Və sonra mən bir şey deyə bilərəm kimi herbie.year, 1,963 bərabərdir 208 00:10:13,730 --> 00:10:15,850 və herbie.model Beetle bərabərdir. 209 00:10:15,850 --> 00:10:17,000 Hər şey yaxşıdır. 210 00:10:17,000 --> 00:10:19,680 Mən sahələri istifadə edirəm strukturunun kontekstində, 211 00:10:19,680 --> 00:10:22,290 lakin mən yalnız heç bilər bu kimi bir şey demək. 212 00:10:22,290 --> 00:10:22,790 Sağ? 213 00:10:22,790 --> 00:10:26,836 Mən sahədə adını istifadə edə bilməz strukturunun müstəqil. 214 00:10:26,836 --> 00:10:28,210 Bu fundamental şey sort var. 215 00:10:28,210 --> 00:10:32,990 >> Sahələri olan Belə ki, C strukturlarına fundamental 216 00:10:32,990 --> 00:10:39,050 xassələri olan çox oxşardır JavaScript obyektlərin fundamental. 217 00:10:39,050 --> 00:10:42,080 Amma nə onlara edir xüsusilə maraqlı 218 00:10:42,080 --> 00:10:46,230 obyektlər nə ola bilər ki, həqiqətən deyilir metodları, 219 00:10:46,230 --> 00:10:50,730 funksiyaları üçün bir xülya söz ki, obyekt xas həmçinin var. 220 00:10:50,730 --> 00:10:55,340 Bu bir funksiyası var, belə ki, yalnız ola bilər ki, bir obyekt kontekstində çağırıb. 221 00:10:55,340 --> 00:10:59,200 Müəyyən yalnız bir obyekt onun daxilində bu funksiya, 222 00:10:59,200 --> 00:11:02,020 Bir barədə düşünmək struct funksiyası 223 00:11:02,020 --> 00:11:05,720 müəyyən o daxilində müəyyən edilir strukturunun qıvrım aşırma. 224 00:11:05,720 --> 00:11:07,980 Belə ki, yalnız bir şey deməkdir strukturu. 225 00:11:07,980 --> 00:11:10,960 Və biz işle sort var burada obyektlərin və üsulları ilə. 226 00:11:10,960 --> 00:11:13,580 Biz etdiyiniz kimi əsasən bir funksiyası müəyyən ki, 227 00:11:13,580 --> 00:11:16,670 yalnız bir on əhəmiyyət kəsb edir xüsusi obyekt və biz 228 00:11:16,670 --> 00:11:19,440 obyektin bir üsul zəng. 229 00:11:19,440 --> 00:11:23,180 Və biz zəng bilməz obyektin müstəqil funksiyası, 230 00:11:23,180 --> 00:11:29,260 biz il və ya model deyə bilmərəm kimi C. struct müstəqil 231 00:11:29,260 --> 00:11:32,300 >> Belə ki, funksional proqramlaşdırma paradiqmalar bu kimi bir şey. 232 00:11:32,300 --> 00:11:35,450 Function və sonra keçmək zaman bir parametri kimi obyekt. 233 00:11:35,450 --> 00:11:38,650 Bir obyekt yönümlü proqramlaşdırma dil, bu növ olur 234 00:11:38,650 --> 00:11:43,464 Çevrilmiş və biz düşünmək olardı Bu, object.function bu kimi. 235 00:11:43,464 --> 00:11:45,380 Belə ki, dot Bu sort operator yenə eyham 236 00:11:45,380 --> 00:11:49,540 Bu əmlakın bir növ var ki, və ya obyekt özü atributu. 237 00:11:49,540 --> 00:11:53,240 Amma bu nə bir obyekt deyil yönümlü proqramlaşdırma dili 238 00:11:53,240 --> 00:11:57,150 bir funksiyası etmək üçün nə edə bilər ki, , yenə bir metodu zəng 239 00:11:57,150 --> 00:12:00,260 yalnız bir xüsusi söz funksiyası üçün ki, bir obyekt tutur. 240 00:12:00,260 --> 00:12:03,440 Bu nə ki, syntax kimi görünə bilər. 241 00:12:03,440 --> 00:12:09,360 Və belə ki, biz bəzi görmək başlamaq lazımdır JavaScript kontekstində bu. 242 00:12:09,360 --> 00:12:12,470 >> Siz həmçinin bir obyekt haqqında düşünmək olar sort bir assosiativ array kimi, 243 00:12:12,470 --> 00:12:14,160 biz PHP ilə tanış deyilik ki. 244 00:12:14,160 --> 00:12:17,720 Assosiativ array verir saxla Bizə əvəzinə, əsas dəyər cüt üçün 245 00:12:17,720 --> 00:12:23,040 göstəriciləri 0, bir, iki, üç olan, və biz C-dən istifadə etdiyiniz belə kimi 246 00:12:23,040 --> 00:12:23,940 Diziler. 247 00:12:23,940 --> 00:12:27,472 Assosiativ serialların xəritəsi bilər belə PHP video kimi sözlər, 248 00:12:27,472 --> 00:12:29,180 biz söhbət pizzas yağlar. 249 00:12:29,180 --> 00:12:31,180 Və belə ki, biz bir sıra var idi adlı pizzas və biz 250 00:12:31,180 --> 00:12:36,670 idi pendir əsas idi və $ 8.99 idi dəyəri, daha sonra pepperoni əsas idi, 251 00:12:36,670 --> 00:12:39,190 $ 9.99 belə bir dəyər idi. 252 00:12:39,190 --> 00:12:43,300 Və biz də bir haqqında düşünmək olar bir assosiativ növ oxşar etiraz 253 00:12:43,300 --> 00:12:43,840 array. 254 00:12:43,840 --> 00:12:47,020 Burada bu sintaksis yeni obyekt yaradacaq 255 00:12:47,020 --> 00:12:50,950 iki deyilən herbie daxilində xassələri. 256 00:12:50,950 --> 00:12:57,310 Dəyəri 1963 verilir il, simli verilir və model, 257 00:12:57,310 --> 00:12:58,140 Beetle. 258 00:12:58,140 --> 00:13:01,770 >> Mən istifadə edirəm ki, burada qeyd JavaScript vahid quotes. 259 00:13:01,770 --> 00:13:05,570 Siz tək və ya cüt quotes istifadə edə bilərsiniz zaman strings söhbət edirik. 260 00:13:05,570 --> 00:13:07,772 Bu, yalnız şərti var hal ən dəfə 261 00:13:07,772 --> 00:13:10,230 zaman JavaScript yazılı etdiyiniz, Siz yalnız bir quotes istifadə edin. 262 00:13:10,230 --> 00:13:15,050 Amma burada ikiqat quotes istifadə və bilər həmçinin mükəmməl gözəl olardı. 263 00:13:15,050 --> 00:13:17,470 >> Belə ki, necə xatırlayıram PHP biz bu anlayışı idi 264 00:13:17,470 --> 00:13:22,730 Bizə imkan verir ki, hər bir loop üçün bir əsas dəyər bütün təkrarlamaq 265 00:13:22,730 --> 00:13:25,270 bir assosiativ cüt array, çünki 266 00:13:25,270 --> 00:13:29,050 təkrarlamaq üçün bu imkanı yox idi 0 vasitəsilə bir, iki, üç, dörd, 267 00:13:29,050 --> 00:13:30,710 və s? 268 00:13:30,710 --> 00:13:35,010 JavaScript, çox oxşar bir şey var lakin bu, hər bir loop üçün çağırıb deyil 269 00:13:35,010 --> 00:13:38,960 Bu loops üçün deyirlər. 270 00:13:38,960 --> 00:13:42,890 Belə ki, kimi mənə danışdı Bu, obyekt var düyməsi üçün, 271 00:13:42,890 --> 00:13:48,670 olduğunu söyləyən növ oxşar bir şey kimi hər şey. 272 00:13:48,670 --> 00:13:53,850 Amma burada edirəm bütün iterating olunur Mənim obyektin düymələri bütün vasitəsilə. 273 00:13:53,850 --> 00:13:56,070 Və buruq daxilində orada aşırma, mən 274 00:13:56,070 --> 00:14:03,410 müraciət obyekt kvadrat mötərizədə düyməsindən istifadə əsas yeri dəyəri. 275 00:14:03,410 --> 00:14:05,400 >> Alternativ olaraq, var hətta başqa yanaşma. 276 00:14:05,400 --> 00:14:10,880 Mən yalnız haqqında qayğı varsa dəyərlər, mən obyektin düyməsi üçün demək olar 277 00:14:10,880 --> 00:14:12,360 və yalnız daxili düyməsindən istifadə edin. 278 00:14:12,360 --> 00:14:17,240 Belə ki, obyekt var düyməsi üçün, mən object kvadrat mötərizə istifadə etmək 279 00:14:17,240 --> 00:14:19,340 loop daxilində düyməsini basın. 280 00:14:19,340 --> 00:14:24,580 Obyekt var düyməsi üçün, mən yalnız loop daxilində düyməsindən istifadə, 281 00:14:24,580 --> 00:14:29,040 Mən yalnız xüsusi deyiləm, çünki orada dəyərləri haqqında söhbət. 282 00:14:29,040 --> 00:14:32,630 >> Belə ki, bəlkə bir götürək fərq baxmaq 283 00:14:32,630 --> 00:14:35,670 yalnız tez sizə göstərmək üçün dörd arasında fərq 284 00:14:35,670 --> 00:14:40,730 bir çox xüsusi ilə və Biz burada array, həftə array. 285 00:14:40,730 --> 00:14:43,616 Belə ki, yeni bir sıra tapmaq lazımdır Mən yeddi strings ilə dolu ki, 286 00:14:43,616 --> 00:14:46,240 Bazar ertəsi, çərşənbə axşamı, çərşənbə, Cümə axşamı, Cümə, Şənbə, Bazar günü. 287 00:14:46,240 --> 00:14:50,530 Və mən indi təkrarlamaq istəyirəm Bu array vasitəsilə, 288 00:14:50,530 --> 00:14:53,090 müəyyən məlumat çap. 289 00:14:53,090 --> 00:14:58,780 Mən loop üçün istifadə edin məlumat çap, 290 00:14:58,780 --> 00:15:00,710 Mən almaq üçün gedirəm nə düşünürsünüz? 291 00:15:00,710 --> 00:15:01,710 Yaxşı, bir nəzər salaq. 292 00:15:01,710 --> 00:15:05,300 Və biz artıq jump əvvəl mənim brauzerinizin pəncərə, 293 00:15:05,300 --> 00:15:08,090 yalnız bilirik ki, console.log bir növ 294 00:15:08,090 --> 00:15:10,630 JavaScript çap F bunu yol. 295 00:15:10,630 --> 00:15:12,040 Amma konsol nədir? 296 00:15:12,040 --> 00:15:14,940 Yaxşı, ki, biz olacaq nə İndi nəzər getmək üçün. 297 00:15:14,940 --> 00:15:16,850 >> OK, belə ki, biz burada geri istəyirik Mənim brauzer pəncərəsində, 298 00:15:16,850 --> 00:15:19,410 və mən açmaq üçün gedirəm mənim geliştirici alətləri up. 299 00:15:19,410 --> 00:15:22,290 Yenə Mən yalnız F12 vuruş alıram geliştirici alətləri açmaq üçün. 300 00:15:22,290 --> 00:15:25,670 Və burada qeyd top I konsol seçtiniz. 301 00:15:25,670 --> 00:15:28,480 Belə ki, bu anlayışdır bir geliştirici konsol, 302 00:15:28,480 --> 00:15:30,500 və bizə imkan verəcək ki, məlumat çap 303 00:15:30,500 --> 00:15:33,000 sort terminal kimi, lakin Siz bir az sonra görəcəksiniz kimi, 304 00:15:33,000 --> 00:15:37,720 biz də informasiya yazın Bizim web səhifə ilə qarşılıqlı. 305 00:15:37,720 --> 00:15:42,320 Mən burada bir az zoom gedirəm Mən mý indi test üçün basın edirəm. 306 00:15:42,320 --> 00:15:45,230 Və dörd test-- Mən mý deyiləm İndi bunun kodu göstərmək, 307 00:15:45,230 --> 00:15:47,479 lakin siz bunu əgər almaq lazımdır, siz mənbə kodu download 308 00:15:47,479 --> 00:15:50,380 bu video-- ilə bağlı yalnız ki, loop üçün deyil 309 00:15:50,380 --> 00:15:52,610 gördük ki, yalnız bir ikinci əvvəl slide. 310 00:15:52,610 --> 00:15:54,810 >> Beləliklə, mən mý klik edirəm ki, düyməsini və burada, 311 00:15:54,810 --> 00:15:58,440 burada çap nə var konsol, 0, bir, iki, üç, dörd, beş, 312 00:15:58,440 --> 00:15:58,940 altı. 313 00:15:58,940 --> 00:16:02,490 Mən məlumat çap etməyib bu array yerlərdə daxili, 314 00:16:02,490 --> 00:16:05,180 Mən loop üçün istifadə çünki. 315 00:16:05,180 --> 00:16:10,670 Və loop bədən daxilində, I yalnız düyməsini etiraz düyməsini çap. 316 00:16:10,670 --> 00:16:18,600 Amma indi mənim konsol təmizləmək, mən əgər test üçün keçid və test dörd 317 00:16:18,600 --> 00:16:22,500 Mən loop üçün istifadə demək əvəzinə və əsas çap, 318 00:16:22,500 --> 00:16:28,079 Hesab edirəm ki, basın əgər, indi alıram Mənim obyekt daxilində faktiki elementləri 319 00:16:28,079 --> 00:16:29,120 və ya bu halda mənim array. 320 00:16:29,120 --> 00:16:31,760 Həftə gün mənim array. 321 00:16:31,760 --> 00:16:33,480 Mən bazar ertəsi çap Çərşənbə axşamı, Çərşənbə. 322 00:16:33,480 --> 00:16:36,930 Belə ki, fərq arasında var bir üçün loop olan çap 323 00:16:36,930 --> 00:16:43,410 Yalnız düyməsini istifadə əgər yalnız düymələri loop bədən daxilində, 324 00:16:43,410 --> 00:16:46,850 və loop, izləri üçün bir dəyərləri yalnız istifadə əgər 325 00:16:46,850 --> 00:16:48,870 loop bədən daxilində düyməsini basın. 326 00:16:48,870 --> 00:16:52,380 >> Bütün hüquqlar, necə biz indi başlamaq yoxdur strings concatenate və bəlkə qarışdırmaq 327 00:16:52,380 --> 00:16:57,220 interpolation bəzi dəyişənlər kimi biz PHP bunu bacardıq? 328 00:16:57,220 --> 00:16:59,410 Yaxşı, biz olduqca tanış edirik PHP bu ilə. 329 00:16:59,410 --> 00:17:04,109 Bu istifadə edəcəyini necə dot operator strings concatenate üçün. 330 00:17:04,109 --> 00:17:06,260 JavaScript, baxmayaraq ki, biz, həqiqətən, bir şey istifadə 331 00:17:06,260 --> 00:17:09,290 plus operator, adlı bəlkə hətta bir az daha 332 00:17:09,290 --> 00:17:10,470 intuitiv, sağ? 333 00:17:10,470 --> 00:17:12,609 Biz bir dəstə əlavə edirik strings birlikdə. 334 00:17:12,609 --> 00:17:14,520 Belə ki, geri baş imkan artıq nə görürük 335 00:17:14,520 --> 00:17:18,693 biz çap çalışdığınız əgər çap edəcək həftə array məlumat bütün. 336 00:17:18,693 --> 00:17:20,859 Burada əsasən belə ki, bütün sağ, string concatenation altında, 337 00:17:20,859 --> 00:17:24,822 Mən iki variant var, simli bina V1 və sonra simli bina V2. 338 00:17:24,822 --> 00:17:26,530 Və biz niyə görmək lazımdır ikinci V2 lazımdır. 339 00:17:26,530 --> 00:17:28,610 Amma mý Ben basın string bina V1 olan 340 00:17:28,610 --> 00:17:30,360 biz kodu yalnız bir nəzər alaraq, 341 00:17:30,360 --> 00:17:32,980 müsbət bütün console.log. 342 00:17:32,980 --> 00:17:35,910 Bu izləri görmek edək gözlədiyimiz nə. 343 00:17:35,910 --> 00:17:39,939 >> Bazar ertəsi, həftənin gün sayı 01 Çərşənbə axşamı həftənin gün sayı 11. 344 00:17:39,939 --> 00:17:41,730 Yaxşı, mən nə çalışır almaq var idi etmək 345 00:17:41,730 --> 00:17:46,280 Bazar ertəsi günü sayı çap bir Çərşənbə axşamı günü iki nömrəli edir. 346 00:17:46,280 --> 00:17:50,140 Amma bu mən kimi görünür həmişə bir çap. 347 00:17:50,140 --> 00:17:51,260 Yaxşı, niyə ki? 348 00:17:51,260 --> 00:17:55,600 Bəli, bu çıxır, başqa bir nəzər burada kodu bu kiçik parçası at. 349 00:17:55,600 --> 00:18:00,160 Biz plus istifadə etdiyiniz üçün bildirək ki, iki müxtəlif kontekstlərdə operator. 350 00:18:00,160 --> 00:18:03,221 >> Və belə ki, burada harada bəlkə şeylər var biz növ deyərək etdik ki, 351 00:18:03,221 --> 00:18:03,970 oh, belə böyük deyil. 352 00:18:03,970 --> 00:18:05,910 Biz artıq məlumat növləri ilə məşğul deyil. 353 00:18:05,910 --> 00:18:08,220 Amma burada olduğu faktdır biz data növləri itirmək 354 00:18:08,220 --> 00:18:10,960 həqiqətən bir az ola bilər bizim üçün bir problem. 355 00:18:10,960 --> 00:18:16,260 İndi plus operator üçün istifadə olunur ki, strings concatenate və nömrələr əlavə 356 00:18:16,260 --> 00:18:19,550 birlikdə, JavaScript var ən yaxşı tahmin etmək 357 00:18:19,550 --> 00:18:22,030 kimi mən bu mənim üçün nə etmək istədiklərini. 358 00:18:22,030 --> 00:18:23,900 Və bu halda, bu, yanlış guessed. 359 00:18:23,900 --> 00:18:29,340 Bu, sadəcə Zəncirləmə gün olacaq 0, bir, iki, üç, dörd, beş və ya altı, 360 00:18:29,340 --> 00:18:32,060 və o, yalnız Zəncirləmə ki, və sonra bir Zəncirləmə. 361 00:18:32,060 --> 00:18:35,020 Bu, həqiqətən, onlara birlikdə əlavə etməyib. 362 00:18:35,020 --> 00:18:37,320 Və bu dilləri, PHP və JavaScript, 363 00:18:37,320 --> 00:18:39,196 ki, üz özet növ bu anlayışı, 364 00:18:39,196 --> 00:18:40,820 Siz artıq bu ilə məşğul yoxdur. 365 00:18:40,820 --> 00:18:43,600 Onlar hələ də başlıq altında növləri var. 366 00:18:43,600 --> 00:18:46,780 Və biz, can hallarda bu kimi ki, leverage 367 00:18:46,780 --> 00:18:49,240 bir şey söyləyərək bəlkə bu kimi olan 368 00:18:49,240 --> 00:18:53,210 tərəfindən, JavaScript izah edir yol, bir tam kimi müalicə, 369 00:18:53,210 --> 00:18:57,100 hətta bir string kimi müalicə yoxdur baxmayaraq ki, biz birlikdə strings qarışdırmaqla edirik 370 00:18:57,100 --> 00:18:58,940 burada integers. 371 00:18:58,940 --> 00:19:02,204 >> Bu, yalnız o şeyi biridir Bu kontekstdə belə böyük görünür ki, 372 00:19:02,204 --> 00:19:04,120 biz yoxdur ki, Artıq növləri ilə məşğul, 373 00:19:04,120 --> 00:19:05,828 lakin bəzən lazımdır bir vəziyyət daxil 374 00:19:05,828 --> 00:19:09,110 məhz bu kimi burada faktdır ki, Siz növləri nəzarət yoxdur 375 00:19:09,110 --> 00:19:11,220 sizə əksyanma bilər Siz ehtiyatlı deyilik əgər. 376 00:19:11,220 --> 00:19:18,285 Biz IDE üzərində geri pop əgər, belə ki, mən daha konsol sil gedir, 377 00:19:18,285 --> 00:19:20,660 və mən simli basın gedirəm Bina versiyası iki olan 378 00:19:20,660 --> 00:19:23,052 Hesab edirəm ki, parse int funksiyasından istifadə harada. 379 00:19:23,052 --> 00:19:25,260 İndi çap oldu Mən gözləyirəm məlumat. 380 00:19:25,260 --> 00:19:29,330 Bazar ertəsi günü bir nömrəli, Çərşənbə axşamı belə gün sayı iki, və. 381 00:19:29,330 --> 00:19:31,170 >> Belə ki, daha funksiyaları haqqında danışmaq edək. 382 00:19:31,170 --> 00:19:34,790 Düşünürəm ki, biz anonim haqqında danışmaq vəd funksiyaları və bunun üçün indi kontekstində 383 00:19:34,790 --> 00:19:36,360 nəhayət gəlib. 384 00:19:36,360 --> 00:19:39,980 Biz bunu əvvəl Belə ki, yenidən danışaq yalnız bir ikinci Diziler haqqında. 385 00:19:39,980 --> 00:19:42,120 Belə ki, seriallarda bir xüsusi bir obyekt halda. 386 00:19:42,120 --> 00:19:45,180 Əslində, hər şey JavaScript həqiqətən bir obyekt deyil. 387 00:19:45,180 --> 00:19:47,190 Belə ki, funksiyaları bir bir obyektin xüsusi halda, 388 00:19:47,190 --> 00:19:49,770 integers bir xüsusi bir obyekt halda, 389 00:19:49,770 --> 00:19:52,152 lakin Diziler xüsusi üsulları bir sıra var. 390 00:19:52,152 --> 00:19:55,110 Onlar obyektləri istəyirik, çünki Unutmayın, onlar xassələri və üsulları ola bilər. 391 00:19:55,110 --> 00:19:58,600 Onlar üsulları bir sıra var ki, həmin obyektlərin tətbiq oluna bilər. 392 00:19:58,600 --> 00:20:01,197 Adlı bir üsul var ölçüsü, array.size, 393 00:20:01,197 --> 00:20:03,030 olan dönəcək Siz gözləyə bilər kimi 394 00:20:03,030 --> 00:20:05,120 Sizin massivin elementlərinin sayı. 395 00:20:05,120 --> 00:20:08,480 array.pop, sort kimi off yaratma bizim anlayışı 396 00:20:08,480 --> 00:20:11,110 bir yığın, siz geri əgər Bizim çıxarıcı borular video, 397 00:20:11,110 --> 00:20:13,810 array son element rədd et. 398 00:20:13,810 --> 00:20:17,110 array.push yeni element əlavə edir bir sıra sonuna. 399 00:20:17,110 --> 00:20:20,910 array.shift sort edir DQ kimi, onu splices 400 00:20:20,910 --> 00:20:23,610 bir sıra ilk element. 401 00:20:23,610 --> 00:20:27,549 >> Lakin başqa bir xüsusi var bir sıra üsulu xəritəsi çağırıb. 402 00:20:27,549 --> 00:20:29,340 Və bu sort maraqlı bir anlayışdır. 403 00:20:29,340 --> 00:20:30,930 Belə ki, bir xəritə fikir nədir? 404 00:20:30,930 --> 00:20:33,880 Siz, həqiqətən, bu görürsünüz bir neçə digər dillərdə, 405 00:20:33,880 --> 00:20:38,550 və biz bir söhbət deyilik cartographers sort, burada xəritəsi 406 00:20:38,550 --> 00:20:41,480 bir mapping funksiyası barədə söhbət edirik. 407 00:20:41,480 --> 00:20:44,110 Kontekstdə biz istəyirik burada söhbət bir xəritə 408 00:20:44,110 --> 00:20:47,950 xüsusi əməliyyat biz bir sıra çıxış edə bilər 409 00:20:47,950 --> 00:20:51,630 xüsusi funksiyası tətbiq etmək ki, serialın hər element. 410 00:20:51,630 --> 00:20:55,190 və biz demək olardı Bu halda, bəlkə, array.map 411 00:20:55,190 --> 00:21:00,330 və onun daxilində, biz keçən edirik xəritə daxil istəyirik bir funksiyası var 412 00:21:00,330 --> 00:21:02,430 hər bir element tətbiq olunacaq. 413 00:21:02,430 --> 00:21:07,299 Belə ki, istifadə sort analoji var bir loop hər element üzərində təkrarlamaq 414 00:21:07,299 --> 00:21:09,340 və müəyyən bir müraciət hər bir element üçün fəaliyyət, 415 00:21:09,340 --> 00:21:14,830 yalnız JavaScript inşa etmişdir tətbiq edilə bilər ki, bir Xəritəçəkmə anlayışı. 416 00:21:14,830 --> 00:21:19,700 Bu böyük kontekstində deyil anonim funksiyası haqqında danışmaq. 417 00:21:19,700 --> 00:21:22,370 >> Belə ki, biz deyək integers bu array. 418 00:21:22,370 --> 00:21:25,370 Bu nums deyirlər və bu beş var bu şeylər, bir, iki, üç, dörd, 419 00:21:25,370 --> 00:21:26,410 Beş. 420 00:21:26,410 --> 00:21:30,620 İndi bəzi xəritəsi istəyirəm Bu array funksiyası. 421 00:21:30,620 --> 00:21:34,337 Mən bir funksiyası tətbiq etmək istəyirsiniz serialın hər element. 422 00:21:34,337 --> 00:21:37,420 Yaxşı, mən istəyirəm nə ki, deyək yalnız elementləri bütün ikiqat yoxdur. 423 00:21:37,420 --> 00:21:42,520 Mən yalnız bir loop istifadə nə edə bilər nə var Mən 0 bərabərdir, mən az 424 00:21:42,520 --> 00:21:47,390 və ya bərabər 4, I plus, plus, və sonra hər bir sayının iki dəfə artırılması. 425 00:21:47,390 --> 00:21:49,580 Amma mən də bu kimi bir şey edə bilərsiniz. 426 00:21:49,580 --> 00:21:53,420 Mən nums əvvəllər idi demək olar bir iki üç dörd beş, 427 00:21:53,420 --> 00:21:58,310 İndi, baxmayaraq ki, mən sizə istəyirəm Bu array üzərində mapping tətbiq 428 00:21:58,310 --> 00:22:00,400 Mən sizə istediğiniz hər sayı iki dəfə. 429 00:22:00,400 --> 00:22:02,540 Və dəqiq nə burada baş. 430 00:22:02,540 --> 00:22:06,870 Amma keçən alıram nə hiss arqument xəritəsi kimi. 431 00:22:06,870 --> 00:22:09,080 Bu anonim funksiyası var. 432 00:22:09,080 --> 00:22:11,140 Mən verilmiş deyil qeyd bu funksiya bir ad, 433 00:22:11,140 --> 00:22:13,290 Mən yalnız bir parametri siyahısını təqdim etdik. 434 00:22:13,290 --> 00:22:16,370 Və bu bir nümunəsidir anonim funksiyası. 435 00:22:16,370 --> 00:22:21,270 >> Biz, ümumiyyətlə, bu zəng heç vaxt Xəritədə kontekstində kənarda fəaliyyət göstərir. 436 00:22:21,270 --> 00:22:24,110 Biz bir parametri kimi müəyyən edirik xəritə, və biz, həqiqətən etmək 437 00:22:24,110 --> 00:22:27,910 əgər üçün bir ad lazımdır önem verir, yalnız bir şey xəritəsi edir 438 00:22:27,910 --> 00:22:30,339 və sağ müəyyən oldu orada xəritədə daxilində. 439 00:22:30,339 --> 00:22:31,880 Və bu anonim funksiyası var. 440 00:22:31,880 --> 00:22:34,680 Biz bilməmişik əvvəl bunu. 441 00:22:34,680 --> 00:22:38,400 Bir funksiyası xəritə ki, , num, bir parametr qəbul 442 00:22:38,400 --> 00:22:41,890 və funksiyası nə yekunları dəfə 2 num olunur. 443 00:22:41,890 --> 00:22:45,330 Və bu sonra mapping tətbiq edilmişdir, 444 00:22:45,330 --> 00:22:50,090 Bu indi nə nums görünür kimi, iki, dörd, altı, səkkiz, 10. 445 00:22:50,090 --> 00:22:52,090 Və biz artıq pop lazımdır my browser window və yalnız 446 00:22:52,090 --> 00:22:55,240 bu nəzər həqiqətən tez həmçinin. 447 00:22:55,240 --> 00:22:58,000 >> Mən burada bir düyməsinə var mənim ana səhifə ikili çağırıb. 448 00:22:58,000 --> 00:23:03,570 Mən ikiqat basın və deyir zaman Mənə bir əvvəl, iki, üç, dörd, 449 00:23:03,570 --> 00:23:07,250 Beş iki, dörd, altı, səkkiz, 10 sonra. 450 00:23:07,250 --> 00:23:11,930 Mən geri getmək və əgər ikiqat basın yenə iki, dörd, altı, səkkiz, 10. 451 00:23:11,930 --> 00:23:17,400 Və sonra sonra, dörd, səkkiz, 12, 16, və sonra 20. 452 00:23:17,400 --> 00:23:20,440 Mən bu funksiyası nə edirəm? 453 00:23:20,440 --> 00:23:25,210 Bəli, biz yalnız IDE üzərində pop, və əgər Mən burada, mənim anonim funksiyası qoparmaq 454 00:23:25,210 --> 00:23:28,780 13 vasitəsilə xətti yeddi, mən deyiləm Burada bir az xülya iş görən, 455 00:23:28,780 --> 00:23:32,240 amma yalnız çap alıram nə serialda hazırda var. 456 00:23:32,240 --> 00:23:36,580 Sonra xətti 16, 17, 18, mənim xəritəsi var. 457 00:23:36,580 --> 00:23:40,930 Bu misli tətbiq alıram burada hər bir element üçün fəaliyyət göstərir. 458 00:23:40,930 --> 00:23:43,530 Və sonra daha aşağı bir az, Mən yalnız eyni şey edirəm 459 00:23:43,530 --> 00:23:46,640 İndi mən istisna olmaqla, əvvəl edirdi serialın məzmunu çap 460 00:23:46,640 --> 00:23:48,167 sonra. 461 00:23:48,167 --> 00:23:50,500 Amma burada etdik bütün yalnız anonim funksiyası istifadə 462 00:23:50,500 --> 00:23:53,640 bütün array arasında xəritəsi. 463 00:23:53,640 --> 00:23:58,466 >> Belə ki, bir daha böyük mövzu haqqında danışmaq JavaScript bir hadisə anlayışdır. 464 00:23:58,466 --> 00:24:01,590 Bir hadisə yalnız baş verir ki, bir şey bir istifadəçi web ilə qarşılıqlı zaman 465 00:24:01,590 --> 00:24:04,715 səhifə belə ki, bəlkə onlar bir şey basın və ya bəlkə səhifə loading başa 466 00:24:04,715 --> 00:24:07,200 və ya bəlkə onlar hərəkət etdik bir şey üzərində onların siçan, 467 00:24:07,200 --> 00:24:09,290 və ya onlar bir şey çap etdik giriş sahəsində. 468 00:24:09,290 --> 00:24:14,260 Bütün bunlar hadisələr ki, bizim web page yaşanır. 469 00:24:14,260 --> 00:24:17,460 Və JavaScript var qabiliyyəti bir şey dəstək 470 00:24:17,460 --> 00:24:21,760 bir hadisə handler, adlı bir callback funksiyası ki, 471 00:24:21,760 --> 00:24:23,329 bir html hadisə cavab verir. 472 00:24:23,329 --> 00:24:24,620 Və callback funksiyası nədir? 473 00:24:24,620 --> 00:24:27,328 Bəli, bu, ümumiyyətlə, yalnız bir var anonim funksiyası üçün ad. 474 00:24:27,328 --> 00:24:30,170 Bu bir funksiyası var ki, bir hadisə cavab verir. 475 00:24:30,170 --> 00:24:34,130 Biz gəlib və bu müəyyən funksiyaları məcburi ideyası 476 00:24:34,130 --> 00:24:38,060 xüsusi html atribut. 477 00:24:38,060 --> 00:24:41,420 Ən html elementləri var bir atributu dəstək 478 00:24:41,420 --> 00:24:45,170 biz HTML haqqında danışmaq deyil ki, klik kimi bir şey video 479 00:24:45,170 --> 00:24:50,540 və ya hover və ya yük, bu hadisələr bütün 480 00:24:50,540 --> 00:24:53,120 Əgər funksiyaları yazmaq olar ki, Bu hadisələrin ilə məşğul 481 00:24:53,120 --> 00:24:56,090 o hadisələr web page baş verir. 482 00:24:56,090 --> 00:24:59,170 >> Və belə bəlkə sizin html bu kimi bir şey görünür. 483 00:24:59,170 --> 00:25:02,240 Və mən burada iki düymələr var, düyməsini bir və düyməsini iki, 484 00:25:02,240 --> 00:25:04,620 və burada hazırda müəyyən bir şey, 485 00:25:04,620 --> 00:25:11,170 lakin bu olduğu atributu haqqında klik yəqin mənim html tag hissəsidir. 486 00:25:11,170 --> 00:25:15,220 Belə ki, yəqin mən nə müəyyən zaman ki atributu daxilində gedən, 487 00:25:15,220 --> 00:25:18,590 bəzi JavaScript olacaq Tədbirdə cavab funksiyası 488 00:25:18,590 --> 00:25:24,360 ehtimalla tıklayarak düyməsini bir və ya düyməsini iki. 489 00:25:24,360 --> 00:25:28,580 >> Nə cür sərin bu biz var haqqında ümumi hadisə handler yaza bilərsiniz. 490 00:25:28,580 --> 00:25:32,370 Və bu hadisə Handler olacaq bir hadisə obyekt yaratmaq. 491 00:25:32,370 --> 00:25:37,000 Və hadisə obyekt bizə edəcək iki düymələri olan tıklayan edilib. 492 00:25:37,000 --> 00:25:38,064 İndi necə işləyir? 493 00:25:38,064 --> 00:25:39,730 Bəli, bu kimi bir şey ola bilər. 494 00:25:39,730 --> 00:25:44,860 Beləliklə, biz ilk düymələri müəyyən edəcək callback cavab var 495 00:25:44,860 --> 00:25:47,470 adlanacaq funksiyası düyməsini tıklandığında, 496 00:25:47,470 --> 00:25:49,520 biz hadisə uyarı adını zəng edəcəyik. 497 00:25:49,520 --> 00:25:53,320 Və biz istəyirik hər iki halda qeyd bu hadisə parametr keçən. 498 00:25:53,320 --> 00:25:55,460 Beləliklə, biz bu funksiyası zəng və ya bu funksiya 499 00:25:55,460 --> 00:26:00,330 baş hadisə səbəb olur, Bu hadisə obyekt yaratmaq olacaq 500 00:26:00,330 --> 00:26:03,300 və kimi keçmək parametr adı xəbərdarlıq. 501 00:26:03,300 --> 00:26:07,270 Və hadisə obyekti məlumat ehtiva gedir 502 00:26:07,270 --> 00:26:09,800 haqqında düyməsinə tıklandığında. 503 00:26:09,800 --> 00:26:11,580 Və necə ki, nə edir? 504 00:26:11,580 --> 00:26:13,654 Bəli, bu kimi bir şey ola bilər. 505 00:26:13,654 --> 00:26:15,570 Belə ki, indi mənim ayrı JavaScript fayl, mən bilər 506 00:26:15,570 --> 00:26:17,420 Bu tapmaq üçün funksiyası alert adı, hansı 507 00:26:17,420 --> 00:26:19,500 daha hadisə parametr qəbul edir. 508 00:26:19,500 --> 00:26:24,640 Mən aşkar alıram Və sonra burada düyməsini təkan oldu, 509 00:26:24,640 --> 00:26:28,100 var trigger hadisə bərabərdir dot mənbə element. 510 00:26:28,100 --> 00:26:33,150 Yaradılmış mənbəyi nə idi keçildi bu hadisə object? 511 00:26:33,150 --> 00:26:36,390 Bu düyməsinə biri idi və ya düyməsini iki idi? 512 00:26:36,390 --> 00:26:40,710 >> Və sonra burada edirəm bütün trigger.innerhtml çap. 513 00:26:40,710 --> 00:26:43,860 Yaxşı, bu halda, bu kontekstində, trigger.innerhtml 514 00:26:43,860 --> 00:26:45,940 düyməsini yazılı yalnız budur. 515 00:26:45,940 --> 00:26:48,830 Biz jump əgər, sadəcə belə olur geri ikinci, ki, ki, 516 00:26:48,830 --> 00:26:51,670 bu düyməni tags arasında nə ola bilər. 517 00:26:51,670 --> 00:26:54,150 Bu düyməsini bir və ya düyməsini iki olacaq. 518 00:26:54,150 --> 00:26:57,320 Və bir nəzər salaq necə bu hadisə handler ki 519 00:26:57,320 --> 00:27:01,080 biz praktikada çalışan əgər baxmaq. 520 00:27:01,080 --> 00:27:03,850 >> Belə ki, ilk növbədə, var açıq events.js, 521 00:27:03,850 --> 00:27:06,517 JavaScript fayl burada olan Bu funksiya müəyyən etmişik. 522 00:27:06,517 --> 00:27:08,558 Gördüyünüz kimi, bu olduqca çox dəqiq nə 523 00:27:08,558 --> 00:27:10,230 biz yalnız ikinci əvvəl slayd gördüm. 524 00:27:10,230 --> 00:27:14,890 Mən artıq getmək olacaq biz istifadə etdik ana səhifə. 525 00:27:14,890 --> 00:27:17,660 Mən düyməsini burada var bir və düyməsinə iki. 526 00:27:17,660 --> 00:27:19,820 Mən düyməsinə bir basın lazımdır. 527 00:27:19,820 --> 00:27:23,930 Əgər Siz düyməsini bir tıklayan burada xəbərdarlığı bilərsiniz. 528 00:27:23,930 --> 00:27:25,810 OLDU. 529 00:27:25,810 --> 00:27:28,980 Düyməsinə iki basın Bir düyməsinə iki tıklayan. 530 00:27:28,980 --> 00:27:32,150 >> Belə ki, hər iki düymələr var Eyni funksiyası zəng, sağ? 531 00:27:32,150 --> 00:27:35,840 Onlar həm də alert adı idi Tədbirdə, lakin bu hadisə obyekt 532 00:27:35,840 --> 00:27:41,900 biz basın zaman yaradılmış olur Bu tıklayan olan düyməsini bizə deyir. 533 00:27:41,900 --> 00:27:44,650 Biz ayrı-ayrı iki yazmaq yox idi olan funksiyaları və ya müqavilə 534 00:27:44,650 --> 00:27:46,470 hər hansı əlavə məlumat keçmək. 535 00:27:46,470 --> 00:27:48,220 Biz yalnız əsaslanaraq edirik nə JavaScript olacaq 536 00:27:48,220 --> 00:27:53,772 ki, yaratmaq üçün olan bizim üçün nə bizim adından tədbir obyektin sort. 537 00:27:53,772 --> 00:27:56,730 Daha JavaScript daha çox var biz bu video əhatə etdik nə, 538 00:27:56,730 --> 00:27:58,521 lakin olan bu siz almaq lazımdır fundamental 539 00:27:58,521 --> 00:28:00,690 kifayət qədər uzun bir yol etmək Siz hər şeyi edəcəyik öyrənmək 540 00:28:00,690 --> 00:28:04,030 Bu barədə bilmək lazımdır maraqlı dil. 541 00:28:04,030 --> 00:28:05,000 Mən Doug Lloyd edirəm. 542 00:28:05,000 --> 00:28:07,010 Bu CS50 edir. 543 00:28:07,010 --> 00:28:09,181