1 00:00:00,000 --> 00:00:03,840 >> [Music kucheza] 2 00:00:03,840 --> 00:00:05,770 3 00:00:05,770 --> 00:00:08,690 >> DOUG LLOYD: Kwa hiyo kwa sasa sisi ni umri faida katika programu ya mtandao, sawa? 4 00:00:08,690 --> 00:00:12,140 Na tumekuwa kufunikwa kadhaa Lugha katika video ya mtu binafsi. 5 00:00:12,140 --> 00:00:14,690 Na sasa hebu kufanya moja zaidi, na javascript. 6 00:00:14,690 --> 00:00:17,370 >> Kwanza habari njema, na javascript ni programu ya kisasa 7 00:00:17,370 --> 00:00:21,410 Lugha kiasi kama PHP ambao syntax inatokana na C, 8 00:00:21,410 --> 00:00:22,830 hivyo hiyo ni nafasi nzuri kuanza. 9 00:00:22,830 --> 00:00:25,880 Ni kuhusu mzee kama PHP, kama vile, baada ya kuzunguka juu ya miaka 20. 10 00:00:25,880 --> 00:00:28,600 Ilizuliwa karibu huo huo kama PHP. 11 00:00:28,600 --> 00:00:32,240 Na JavaScript ni kweli pretty msingi kwa uzoefu user 12 00:00:32,240 --> 00:00:32,740 ya mtandao. 13 00:00:32,740 --> 00:00:34,448 Kwa kweli, kuna lugha tatu kwamba mimi 14 00:00:34,448 --> 00:00:38,480 kusema aina ya kufanya juu ya uzoefu user ya mazungumzo 15 00:00:38,480 --> 00:00:42,650 na tovuti, html, css, na JavaScript. 16 00:00:42,650 --> 00:00:46,030 Na hivyo sasa hebu majadiliano kidogo kuhusu JavaScript. 17 00:00:46,030 --> 00:00:50,301 >> Habari mbaya, ingawa, na JavaScript ni kwamba unaweka mengi ya sheria kwa ajili ya yenyewe, 18 00:00:50,301 --> 00:00:51,300 na kisha inavunja yao. 19 00:00:51,300 --> 00:00:54,010 Na JavaScript kweli anaweza aina ya changamoto ya kujifunza, 20 00:00:54,010 --> 00:00:57,000 kwa sababu ni tofauti na C na PHP, ambayo ni muundo sana 21 00:00:57,000 --> 00:01:00,270 na kuwa na sheria kali sana kwa jinsi mambo wanaweza kufanya kazi. 22 00:01:00,270 --> 00:01:03,690 JavaScript ina aina ya kujipatia hivyo rahisi 23 00:01:03,690 --> 00:01:06,650 kwamba labda mambo si kwenda kazi kwa njia tunatarajia yao kwa, 24 00:01:06,650 --> 00:01:09,830 na labda sisi kweli hawezi kujifunza kwanza lugha yetu programu 25 00:01:09,830 --> 00:01:10,769 kama JavaScript. 26 00:01:10,769 --> 00:01:12,810 Hivyo labda kwa sababu hana imejiwekea sheria yoyote, 27 00:01:12,810 --> 00:01:15,754 na ni kweli haina kutekeleza tabia nzuri coding. 28 00:01:15,754 --> 00:01:18,170 Lakini sasa tumekuwa hopefully maendeleo baadhi nzuri coding tabia, 29 00:01:18,170 --> 00:01:21,470 na ili tuweze kuanza kwa kuliingia ndani ya JavaScript kidogo. 30 00:01:21,470 --> 00:01:25,750 >> Kuandika JavaScript, sawa na ufunguzi up C file na nukta C ugani 31 00:01:25,750 --> 00:01:29,770 au PHP faili na nukta PHP ugani, wote tunahitaji kufanya ni kufungua faili 32 00:01:29,770 --> 00:01:31,764 kwa nukta JS faili ugani. 33 00:01:31,764 --> 00:01:34,430 Hatuna haja ya kuwa na yoyote maalum delimiters kama tulivyofanya katika PHP. 34 00:01:34,430 --> 00:01:36,750 Kwamba aina ya pembe mabano alama swali PHP 35 00:01:36,750 --> 00:01:40,300 kwamba sisi ni kutumika na kwamba, njia sisi tunasema kisakuzi yetu kwamba tuna nini ni 36 00:01:40,300 --> 00:01:43,502 JavaScript ni kwa pamoja hivyo katika html tag, 37 00:01:43,502 --> 00:01:46,210 na tutaweza kuona kidogo kuhusu jinsi ya kufanya hivyo katika muda tu. 38 00:01:46,210 --> 00:01:48,210 >> Jambo jingine kwamba inafanya JavaScript tofauti, 39 00:01:48,210 --> 00:01:50,580 ingawa, ni kwamba anaendesha upande wa mteja. 40 00:01:50,580 --> 00:01:53,430 Hivyo kukumbuka na PHP kwamba sisi kamwe kweli kuona 41 00:01:53,430 --> 00:01:57,041 PHP kwamba mkazo tovuti. 42 00:01:57,041 --> 00:01:59,040 Kama sisi milele kutazamwa ukurasa chanzo, tunataka tu 43 00:01:59,040 --> 00:02:02,830 ona html kwamba alikuwa yanayotokana na kwamba PHP. 44 00:02:02,830 --> 00:02:04,900 Lakini JavaScript anaendesha upande wa mteja. 45 00:02:04,900 --> 00:02:06,710 Wako JavaScript anaendesha kwenye kompyuta yako. 46 00:02:06,710 --> 00:02:09,050 Na hii ndiyo maana unaweza kufanya mambo kama kuongeza blockers. 47 00:02:09,050 --> 00:02:09,550 Sawa? 48 00:02:09,550 --> 00:02:12,704 Tangazo kuzuia ni kawaida kufanyika kwa kuua wote wa JavaScript 49 00:02:12,704 --> 00:02:14,370 kwamba ni mbio kwenye tovuti fulani. 50 00:02:14,370 --> 00:02:19,000 Na kwa sababu ingekuwa kwa kukimbia upande wa mashine mteja wako, 51 00:02:19,000 --> 00:02:21,910 unaweza tu kuacha JavaScript kwa ajili ya kuendesha kabisa. 52 00:02:21,910 --> 00:02:27,030 Hiyo ina maana kwamba wakati matumizi tovuti ya kwamba ni pamoja na JavaScript, 53 00:02:27,030 --> 00:02:32,450 una kutuma JavaScript chanzo kificho ikiwa ni sehemu ya http majibu yako 54 00:02:32,450 --> 00:02:34,159 kwa mteja wakati wao ombi hilo. 55 00:02:34,159 --> 00:02:35,950 Na hivyo waweza si wanataka kutumia JavaScript 56 00:02:35,950 --> 00:02:38,395 kufanya mambo kweli nyeti kama kupita maelezo 57 00:02:38,395 --> 00:02:41,020 kuhusu nywila za watumiaji 'nyuma na nje, kwa sababu wao ni kweli 58 00:02:41,020 --> 00:02:45,610 kwenda kupokea yote ya chanzo kanuni, si tu html kwamba ni kuzalisha, 59 00:02:45,610 --> 00:02:49,030 kama vile itakuwa kesi na kusema PHP. 60 00:02:49,030 --> 00:02:51,620 >> Hivyo ni jinsi gani sisi ni pamoja na JavaScript katika html yetu kuanza na? 61 00:02:51,620 --> 00:02:54,520 Naam, sawa na CSS, kwa kweli, ni aina ya jinsi ya kufanya hivyo hapa. 62 00:02:54,520 --> 00:02:56,190 Na CSS tuna vitambulisho style. 63 00:02:56,190 --> 00:03:00,760 Na ndani ya vitambulisho wale style, tunaweza kufafanua karatasi CSS style. 64 00:03:00,760 --> 00:03:03,450 Vile vile na JavaScript Tunaweza kufungua vitambulisho script, 65 00:03:03,450 --> 00:03:06,660 tag mwingine html hatukuwa majadiliano juu katika html yetu video, 66 00:03:06,660 --> 00:03:09,720 na kuandika JavaScript katika kati ya vitambulisho wale script. 67 00:03:09,720 --> 00:03:13,960 Pia ingawa, kama CSS, sisi inaweza kuhusisha katika nje mafaili CSS 68 00:03:13,960 --> 00:03:15,900 na kuvuta yao katika mpango wetu kwa njia hiyo. 69 00:03:15,900 --> 00:03:18,280 Na CSS tunaweza pia, udhuru kwangu, na JavaScript 70 00:03:18,280 --> 00:03:23,240 sisi pia unaweza kutaja chanzo sifa ya tag script 71 00:03:23,240 --> 00:03:25,720 kuhusisha katika JavaScript tofauti, hivyo huna 72 00:03:25,720 --> 00:03:27,680 na kuandika katika kati ya vitambulisho script, sisi 73 00:03:27,680 --> 00:03:29,600 Unaweza kuhusisha katika kutumia kwamba tag script pia. 74 00:03:29,600 --> 00:03:33,230 Na kama vile kwa kesi na CSS ambapo sisi ilipendekeza kwamba ilikuwa pengine 75 00:03:33,230 --> 00:03:36,090 kwa maslahi yako bora kuandika CSS yako katika faili tofauti katika kesi 76 00:03:36,090 --> 00:03:38,500 unahitaji mabadiliko hayo, vile vile kufanya sisi kupendekeza 77 00:03:38,500 --> 00:03:40,720 kwamba kuandika yako JavaScript katika files tofauti 78 00:03:40,720 --> 00:03:45,460 na kutumia vitambulisho Muswada chanzo wanampa kufunga wako JavaScript 79 00:03:45,460 --> 00:03:49,520 ndani ya html yako, mtandao ukurasa wako. 80 00:03:49,520 --> 00:03:52,610 >> Vigezo hivyo JavaScript, tutaweza kuanza kuzungumza juu ya syntax hapa. 81 00:03:52,610 --> 00:03:53,600 Na tutaweza kwenda kupitia aina hii ya haraka, 82 00:03:53,600 --> 00:03:56,640 kwa sababu tumefanya hii katika PHP, hivyo hii lazima wote kuwa pretty ukoo. 83 00:03:56,640 --> 00:03:59,490 Hivyo vigezo katika JavaScript ni sawa na PHP vigezo. 84 00:03:59,490 --> 00:04:03,270 Hakuna aina specifier, na wakati kuanzisha kutofautiana, 85 00:04:03,270 --> 00:04:05,070 wewe kiambishi ni pamoja na var Keyword. 86 00:04:05,070 --> 00:04:07,750 Katika PHP tunataka kufanya kitu kama hii, ishara ya dola x. 87 00:04:07,750 --> 00:04:09,950 Hiyo ni jinsi sisi zilionyesha kutofautiana, lakini hakuna, sisi 88 00:04:09,950 --> 00:04:12,060 wala kutaja aina ya kutofautiana wakati wote. 89 00:04:12,060 --> 00:04:15,124 Tunataka kusema kitu kama dola ishara x sawa 44 katika PHP. 90 00:04:15,124 --> 00:04:17,040 Kama tunafanya kitu kimoja katika JavaScript, 91 00:04:17,040 --> 00:04:19,589 tunataka kusema var x sawa 44. 92 00:04:19,589 --> 00:04:22,780 Hivyo var ni aina ya njia yetu ya kuanzisha kutofautiana. 93 00:04:22,780 --> 00:04:26,850 Hiyo ni labda kidogo zaidi Intuitive kuliko tu dola ishara kutofautiana. 94 00:04:26,850 --> 00:04:29,080 >> Tena, tangu hakuna aina ya data, tunaweza kufanya hivyo 95 00:04:29,080 --> 00:04:34,490 na aina yoyote data, masharti, kitu kingine chochote ingekuwa wote kuwa var. 96 00:04:34,490 --> 00:04:37,260 Conditionals, wote wa wetu marafiki wa zamani kutoka C na PHP 97 00:04:37,260 --> 00:04:41,640 bado zinapatikana, hivyo tuna ikiwa, mwingine kama, mwingine, kubadili na swali 98 00:04:41,640 --> 00:04:42,240 alama ya matumbo. 99 00:04:42,240 --> 00:04:45,890 Kubadili iliyobaki kama rahisi kama ni Ilikuwa katika PHP, lakini yote haya uko 100 00:04:45,890 --> 00:04:46,930 ukoo na kwa sasa. 101 00:04:46,930 --> 00:04:49,900 Na vile vile kwa mizunguko ni favorites zamani wa muda, 102 00:04:49,900 --> 00:04:52,700 kufanya wakati, na kwa bado inapatikana kwa sisi. 103 00:04:52,700 --> 00:04:55,880 Hivyo tayari tunajua mengi ya msingi JavaScript aina ya misingi 104 00:04:55,880 --> 00:05:01,800 tu kwa mujibu wa kuwa na kidogo kabisa ya maarifa sasa kuhusu C na PHP. 105 00:05:01,800 --> 00:05:03,670 >> Je kuhusu kazi katika JavaScript? 106 00:05:03,670 --> 00:05:08,199 Naam, sawa na PHP kila kazi ni ilianzisha na kazi Keyword. 107 00:05:08,199 --> 00:05:10,740 Unasema kazi, na kisha kuanza kufafanua kazi yako. 108 00:05:10,740 --> 00:05:12,531 Nini tofauti kidogo kuhusu JavaScript, 109 00:05:12,531 --> 00:05:15,700 ingawa ni uwezo wa kuwa na kile kinachoitwa kazi bila majina. 110 00:05:15,700 --> 00:05:18,880 Hivyo unaweza kufafanua majukumu kwamba hawana jina. 111 00:05:18,880 --> 00:05:21,222 Hili ni jambo sisi kweli hawajaona kabla. 112 00:05:21,222 --> 00:05:23,430 Tutaweza kweli kutumia dhana ya kazi bila majina 113 00:05:23,430 --> 00:05:27,880 Muda mfupi baadaye katika hii video, kwa sababu itabidi 114 00:05:27,880 --> 00:05:31,530 mantiki zaidi kidogo katika mazingira wakati sisi kuona katika hali fulani 115 00:05:31,530 --> 00:05:33,120 kwamba nimepata crafted hapa. 116 00:05:33,120 --> 00:05:35,710 Lakini hebu tu kuangalia nini rahisi JavaScript 117 00:05:35,710 --> 00:05:37,850 kazi ili kuangalia kama. 118 00:05:37,850 --> 00:05:40,610 >> Hivyo nimekuwa wamekwenda mbele na imefungua CS50 yangu IDE 119 00:05:40,610 --> 00:05:43,690 na nimekuwa tayari kukimbia Apache kuanza server yangu mbio. 120 00:05:43,690 --> 00:05:46,800 Na nina faili hili kufungua aitwaye Home.html. 121 00:05:46,800 --> 00:05:48,330 Na mimi itabidi kuvuta kidogo hapa. 122 00:05:48,330 --> 00:05:52,090 Na kimsingi, unaweza kuona Home.html ni tu rundo la vifungo. 123 00:05:52,090 --> 00:05:55,291 Na mimi nina wakidai juu hapa kwamba hii ni sehemu JavaScript 124 00:05:55,291 --> 00:05:55,790 vifaa. 125 00:05:55,790 --> 00:05:59,490 Hivyo kuna kundi la vifungo hapa, lakini je, vifungo hizi kwa kweli kufanya? 126 00:05:59,490 --> 00:06:03,662 >> Vizuri, tutaweza kichwa juu ya IED yangu, na mimi Home.html kufungua hapa. 127 00:06:03,662 --> 00:06:05,620 Mwanzoni kabisa, hapa ndipo mimi nina kuunganisha 128 00:06:05,620 --> 00:06:07,500 katika yote ya yangu mafaili chanzo JavaScript. 129 00:06:07,500 --> 00:06:08,000 Sawa? 130 00:06:08,000 --> 00:06:12,440 Hivyo nina anonymous.js, clock.js, Mimi nina kutumia chanzo sifa 131 00:06:12,440 --> 00:06:14,440 ya tag script kuhusisha katika faili. 132 00:06:14,440 --> 00:06:18,660 Hivyo Sikuwaandikia yoyote JavaScript moja kwa moja kwenye faili hili, 133 00:06:18,660 --> 00:06:21,790 lakini nimekuwa kujiondoa katika yote JavaScript nimekuwa imeandikwa tofauti. 134 00:06:21,790 --> 00:06:24,540 Na kama sisi kitabu chini hapa, hii lazima wote kuangalia kiasi fulani ukoo 135 00:06:24,540 --> 00:06:27,090 kwa kidogo ya syntax mpya. 136 00:06:27,090 --> 00:06:32,655 Tunayo kichwa tag kwa kazi na kisha kifungo. 137 00:06:32,655 --> 00:06:35,530 Nina pembejeo hiyo ni aina ya kifungo, na inaonekana wakati mimi click yake, 138 00:06:35,530 --> 00:06:38,130 Mimi nina kwenda kuwaita baadhi kazi tahadhari tarehe. 139 00:06:38,130 --> 00:06:41,792 Na hii ni jinsi gani tunaweza aina ya kuchanganya kidogo ya JavaScript na html. 140 00:06:41,792 --> 00:06:44,500 Wao kweli kucheza pretty vizuri pamoja, na hivyo inaonekana wakati 141 00:06:44,500 --> 00:06:48,730 Mimi bonyeza kifungo hii, mimi nina kwenda kuwaita baadhi tarehe tahadhari kazi. 142 00:06:48,730 --> 00:06:53,660 Na vile vile kuwa na mimi inavyoelezwa tabia kwa wote wa vifungo vingine ambavyo 143 00:06:53,660 --> 00:06:56,440 ni juu ya kwamba ukurasa home.html, ambayo tutaweza kuweka kurudi 144 00:06:56,440 --> 00:06:59,172 kwa wakati wa kozi ya video hii. 145 00:06:59,172 --> 00:07:00,880 Lakini hebu kwenda nyuma hadi hapa na kuangalia 146 00:07:00,880 --> 00:07:03,850 katika clock.js, ambayo ni JavaScript faili kwamba mimi 147 00:07:03,850 --> 00:07:07,370 aliandika kwamba ina kazi hii kwanza tunakwenda tuangalie. 148 00:07:07,370 --> 00:07:11,630 Kama unaweza kuona, mimi kuanza yangu JavaScript kazi na keyword kazi, 149 00:07:11,630 --> 00:07:14,560 na Nimekupa hii a moja jina, ni kuitwa tahadhari tarehe. 150 00:07:14,560 --> 00:07:18,710 Ndani ya huko, mimi inaonekana kujenga kutofautiana mpya za kuitwa tarehe ya sasa. 151 00:07:18,710 --> 00:07:21,500 Na mimi nina kwenda kuwapa sawa na tarehe mpya. 152 00:07:21,500 --> 00:07:24,430 Na tunaweza kupata katika mengi ya undani kama yale tarehe ni, 153 00:07:24,430 --> 00:07:27,060 na kwa kweli JavaScript ni hivyo kubwa kwamba hatuwezi uwezekano 154 00:07:27,060 --> 00:07:28,330 kufunika kila kitu katika moja video. 155 00:07:28,330 --> 00:07:32,220 Lakini inatosha kusema, hii ni kwenda kurudi kwangu bidhaa takwimu ambazo 156 00:07:32,220 --> 00:07:35,470 encapsulates tarehe ya sasa na wakati. 157 00:07:35,470 --> 00:07:39,100 Mimi kuhifadhi kwamba katika kutofautiana kwamba mimi nina inaonekana kwenda kwa macho tarehe ya sasa. 158 00:07:39,100 --> 00:07:41,300 >> Naam, ni nini tahadhari sasa tarehe kuangalia kama? 159 00:07:41,300 --> 00:07:46,460 Hebu tuangalie faili yenyewe kuunga zaidi katika dirisha browser. 160 00:07:46,460 --> 00:07:49,551 Hivyo tena, hii ni kifungo kwamba mimi kuwa amefungwa na, hii kazi aitwaye. 161 00:07:49,551 --> 00:07:51,800 Na mimi click yake huko na kuangalia nini alifanya, ni wamehamasika. 162 00:07:51,800 --> 00:07:56,140 Ni popped up aina hii ya sanduku kuwaambia mimi kwamba wakati wa sasa ni, inaonekana 163 00:07:56,140 --> 00:07:59,370 ni Novemba 4 katika 10:43:43 asubuhi. 164 00:07:59,370 --> 00:08:02,345 Na kama mimi click yake tena, sasa ni sekunde chache baadaye, sawa? 165 00:08:02,345 --> 00:08:03,720 Hivyo hiyo ni kazi haya yote gani. 166 00:08:03,720 --> 00:08:07,670 Wakati mimi bonyeza kifungo hii, pops up ujumbe tahadhari kwangu. 167 00:08:07,670 --> 00:08:13,806 168 00:08:13,806 --> 00:08:15,690 Kwa hiyo, kuna kweli si sana kwa kazi 169 00:08:15,690 --> 00:08:19,110 hiyo ni tofauti na PHP, kidogo tu ya syntax mpya 170 00:08:19,110 --> 00:08:22,500 kuja na kufanya kazi na JavaScript. 171 00:08:22,500 --> 00:08:24,650 >> Arrays katika JavaScript ni pretty moja kwa moja. 172 00:08:24,650 --> 00:08:27,200 Kutangaza safu, matumizi mabano mraba syntax 173 00:08:27,200 --> 00:08:30,090 kwamba sisi ni ukoo na kutoka PHP. 174 00:08:30,090 --> 00:08:33,432 Na sawa na PHP, sisi pia unaweza kuchanganya aina ya data. 175 00:08:33,432 --> 00:08:35,140 Hivyo safu hii, wote ya arrays haya ingekuwa 176 00:08:35,140 --> 00:08:36,960 kuwa kikamilifu halali JavaScript. 177 00:08:36,960 --> 00:08:42,500 Moja kwamba ni integers wote, na moja ambayo ni mchanganyiko up aina mbalimbali data. 178 00:08:42,500 --> 00:08:45,020 >> Nini kitu tofauti sana katika JavaScript, ingawa? 179 00:08:45,020 --> 00:08:47,020 Hiyo ni dhana ya kitu. 180 00:08:47,020 --> 00:08:50,240 Hivyo labda wewe Nimesikia ya kitu Programu oriented. 181 00:08:50,240 --> 00:08:53,370 Hatuwezi kufanya mengi ya hayo katika CS50, lakini sisi kufanya kazi kidogo ya hiyo 182 00:08:53,370 --> 00:08:55,670 hapa katika mazingira ya JavaScript. 183 00:08:55,670 --> 00:08:59,100 Sasa JavaScript ina uwezo wa kuishi kama kitu oriented programu 184 00:08:59,100 --> 00:09:02,615 lugha, lakini si yenyewe peke kitu oriented 185 00:09:02,615 --> 00:09:03,490 lugha ya programu. 186 00:09:03,490 --> 00:09:05,281 Na hii tena inakuja nyuma kwa nini nilivyosema, ni 187 00:09:05,281 --> 00:09:10,610 inaweza kuwa changamoto sana kujifunza JavaScript kama kompyuta yako kwanza 188 00:09:10,610 --> 00:09:13,890 lugha, kwa sababu hana kweli fit dhana fulani. 189 00:09:13,890 --> 00:09:16,430 >> C Kwa upande mwingine ni kazi lugha ya programu. 190 00:09:16,430 --> 00:09:22,270 Kama tunataka, kazi ni aina ya bosi kubwa mtu, sawa? 191 00:09:22,270 --> 00:09:24,410 Wao kulazimisha kile hutokea kila kitu kingine. 192 00:09:24,410 --> 00:09:26,600 Tunataka mabadiliko vigezo, tunatoa wito kazi. 193 00:09:26,600 --> 00:09:28,220 Sisi kufanya mambo kwa kazi. 194 00:09:28,220 --> 00:09:31,250 Vitu badala yake, katika kitu oriented lugha, 195 00:09:31,250 --> 00:09:35,937 vitu aina ya kuwa nyota na kazi kuwa aina ya sekondari. 196 00:09:35,937 --> 00:09:38,270 Lakini ni nini kitu gani ni wazo hili la kitu? 197 00:09:38,270 --> 00:09:40,880 Naam, kama inasaidia, fikiria kuhusu hilo wakati aina ya kwanza 198 00:09:40,880 --> 00:09:44,540 ya kama C muundo au struct kuwa tumejifunza kuhusu kabla. 199 00:09:44,540 --> 00:09:47,430 Katika C, muundo inajumuisha idadi ya mashamba, 200 00:09:47,430 --> 00:09:51,174 na labda sisi sasa inaweza kuanza piga mashamba hayo mali. 201 00:09:51,174 --> 00:09:53,590 Lakini mali kamwe kweli kusimama peke yao, sawa? 202 00:09:53,590 --> 00:09:56,410 Kama mimi kufafanua muundo kwa ajili ya gari kama hii kwa kufuatia wawili 203 00:09:56,410 --> 00:10:00,750 mashamba au mali, an moja integer kwa mwaka wa gari 204 00:10:00,750 --> 00:10:04,290 na mwingine 10 tabia kamba kwa mfano wa gari, 205 00:10:04,290 --> 00:10:07,150 Naweza kusema kitu kama hiki, Siwezi kutangaza kutofautiana mpya 206 00:10:07,150 --> 00:10:10,080 ya aina struct gari Herbie. 207 00:10:10,080 --> 00:10:13,730 Na kisha siwezi kusema kitu kama herbie.year sawa na 1,963, 208 00:10:13,730 --> 00:10:15,850 na herbie.model sawa na mende. 209 00:10:15,850 --> 00:10:17,000 Hiyo ni sawa. 210 00:10:17,000 --> 00:10:19,680 Mimi nina kutumia mashamba katika mazingira ya muundo, 211 00:10:19,680 --> 00:10:22,290 lakini mimi naweza kamwe tu kusema kitu kama hiki. 212 00:10:22,290 --> 00:10:22,790 Sawa? 213 00:10:22,790 --> 00:10:26,836 Siwezi kutumia jina uwanja huru ya muundo. 214 00:10:26,836 --> 00:10:28,210 Ni aina ya kitu kimsingi. 215 00:10:28,210 --> 00:10:32,990 >> Hivyo mashamba akiwa msingi kwa miundo C 216 00:10:32,990 --> 00:10:39,050 ni sawa na mali kuwa msingi kwa JavaScript vitu. 217 00:10:39,050 --> 00:10:42,080 Lakini nini inawafanya hasa ya kuvutia 218 00:10:42,080 --> 00:10:46,230 ni kwamba vitu inaweza pia kuwa na kile zinaitwa mbinu, ambayo ni kweli 219 00:10:46,230 --> 00:10:50,730 tu neno dhana kwa kazi ambayo ni asili ya kitu kama vile. 220 00:10:50,730 --> 00:10:55,340 Hivyo ni kazi ambayo inaweza tu kuwa kuitwa katika mazingira ya kitu. 221 00:10:55,340 --> 00:10:59,200 Tu kitu ambayo ina defined kazi hii ndani ya yake, 222 00:10:59,200 --> 00:11:02,020 kama unadhani kuhusu struct, kazi 223 00:11:02,020 --> 00:11:05,720 inaelezwa ndani ya wale kufafanua braces curly ya muundo. 224 00:11:05,720 --> 00:11:07,980 Hivyo ina maana kitu tu na muundo. 225 00:11:07,980 --> 00:11:10,960 Na hiyo ni aina ya nini sisi ni kufanya hapa na vitu na mbinu. 226 00:11:10,960 --> 00:11:13,580 Ni kimsingi kama tuko kufafanua kazi ambayo 227 00:11:13,580 --> 00:11:16,670 tu mantiki juu ya kitu fulani, na hivyo sisi 228 00:11:16,670 --> 00:11:19,440 wito kwamba njia ya kitu. 229 00:11:19,440 --> 00:11:23,180 Na hatuwezi kuwaita kwamba kazi ya kujitegemea ya kitu, 230 00:11:23,180 --> 00:11:29,260 kama hatuwezi kusema mwaka au mfano wa kuigwa huru ya struct katika C. 231 00:11:29,260 --> 00:11:32,300 >> Programu hivyo kazi dhana kuangalia kitu kama hii. 232 00:11:32,300 --> 00:11:35,450 Kazi na kisha wakati kupita katika kitu kama parameter. 233 00:11:35,450 --> 00:11:38,650 Katika kitu oriented programu lugha, hii aina ya anapata 234 00:11:38,650 --> 00:11:43,464 flipped, na tunataka kufikiria kuhusu ni kama hii, object.function. 235 00:11:43,464 --> 00:11:45,380 Hivyo ni aina ya kwamba dot operator tena ikimaanisha 236 00:11:45,380 --> 00:11:49,540 kuwa ni aina fulani ya mali au sifa ya kitu yenyewe. 237 00:11:49,540 --> 00:11:53,240 Lakini hii ni nini kitu oriented programu lugha 238 00:11:53,240 --> 00:11:57,150 inaweza kufanya ili kufanya kazi wito kwa mbinu, tena, ambayo 239 00:11:57,150 --> 00:12:00,260 ni neno maalum kwa ajili ya kazi kwamba ni asili ya kitu. 240 00:12:00,260 --> 00:12:03,440 Hii ni nini kwamba syntax ili kuangalia kama. 241 00:12:03,440 --> 00:12:09,360 Na hivyo tutaweza kuanza kuona baadhi ya huu katika mazingira ya JavaScript. 242 00:12:09,360 --> 00:12:12,470 >> Unaweza pia kufikiri juu ya kitu aina ya kama safu associative, 243 00:12:12,470 --> 00:12:14,160 ambayo sisi ni ukoo na kutoka PHP. 244 00:12:14,160 --> 00:12:17,720 Kumbuka safu associative inaruhusu yetu kuwa na thamani jozi ufunguo, badala 245 00:12:17,720 --> 00:12:23,040 ya kuwa na bahati 0, moja, mbili, tatu, na kadhalika kama sisi ni kutumika kutoka C 246 00:12:23,040 --> 00:12:23,940 arrays. 247 00:12:23,940 --> 00:12:27,472 Associative arrays unaweza ramani maneno, kama vile katika PHP video, 248 00:12:27,472 --> 00:12:29,180 sisi walikuwa wanazungumza juu matamu ya pizzas. 249 00:12:29,180 --> 00:12:31,180 Na hivyo tulikuwa na safu aitwaye pizzas, na sisi 250 00:12:31,180 --> 00:12:36,670 alikuwa jibini alikuwa ufunguo na $ 8.99 mara thamani, na kisha pepperoni ilikuwa muhimu, 251 00:12:36,670 --> 00:12:39,190 $ 9.99 ilikuwa thamani, na kadhalika. 252 00:12:39,190 --> 00:12:43,300 Na hivyo tunaweza pia kufikiri juu ya kitu aina ya sawa na associative 253 00:12:43,300 --> 00:12:43,840 safu. 254 00:12:43,840 --> 00:12:47,020 Na hivyo syntax hii hapa ingekuwa kujenga kitu kipya 255 00:12:47,020 --> 00:12:50,950 aitwaye Herbie na mbili mali ndani yake. 256 00:12:50,950 --> 00:12:57,310 Mwaka, ambayo ni kwa ajili thamani 1963, na mfano, ambayo ni kwa ajili kamba 257 00:12:57,310 --> 00:12:58,140 Mende. 258 00:12:58,140 --> 00:13:01,770 >> Na taarifa hapa kwamba mimi nina kutumia quotes moja katika JavaScript. 259 00:13:01,770 --> 00:13:05,570 Unaweza kutumia quotes moja au mbili wakati wewe ni kuzungumza juu ya masharti. 260 00:13:05,570 --> 00:13:07,772 Ni tu conventionally kesi hiyo mara nyingi 261 00:13:07,772 --> 00:13:10,230 wakati wewe ni kuandika JavaScript, wewe tu kutumia quotes moja. 262 00:13:10,230 --> 00:13:15,050 Lakini mimi naweza kutumia quotes mbili hapa, na kwamba itakuwa kikamilifu faini pia. 263 00:13:15,050 --> 00:13:17,470 >> Basi kumbuka jinsi katika PHP tulikuwa wazo hili 264 00:13:17,470 --> 00:13:22,730 ya kwa kila kitanzi ambayo ingeweza kuruhusu sisi iterate juu ya yote ya thamani muhimu 265 00:13:22,730 --> 00:13:25,270 jozi ya associative safu, kwa sababu sisi 266 00:13:25,270 --> 00:13:29,050 hawakuwa na uwezo huo iterate kupitia 0, moja, mbili, tatu, nne, 267 00:13:29,050 --> 00:13:30,710 na kadhalika? 268 00:13:30,710 --> 00:13:35,010 JavaScript ina kitu sawa sana, lakini siyo kuitwa kwa ajili ya kila kitanzi, 269 00:13:35,010 --> 00:13:38,960 ni kuitwa kwa katika mizunguko. 270 00:13:38,960 --> 00:13:42,890 Hivyo kama mimi akaniambia kama hii, kwa var muhimu katika kitu, 271 00:13:42,890 --> 00:13:48,670 hiyo ni aina ya sawa na kusema kwa kila kitu kama kitu fulani. 272 00:13:48,670 --> 00:13:53,850 Lakini wote mimi nina kufanya hapa ni iterating njia zote za funguo za kitu yangu. 273 00:13:53,850 --> 00:13:56,070 Na ndani ya curly inakabiliwa na huko, napenda 274 00:13:56,070 --> 00:14:03,410 kutumia kitu mabano mraba muhimu kwa kutaja kwa thamani wakati huo eneo muhimu. 275 00:14:03,410 --> 00:14:05,400 >> Vinginevyo, kuna hata mwingine mbinu. 276 00:14:05,400 --> 00:14:10,880 Kama mimi tu tu huduma ya juu maadili, naweza kusema kwa ufunguo wa kitu, 277 00:14:10,880 --> 00:14:12,360 na tu kutumia ufunguo ndani. 278 00:14:12,360 --> 00:14:17,240 Hivyo kwa var muhimu katika kitu, nina kutumia kitu mabano mraba 279 00:14:17,240 --> 00:14:19,340 ufunguo ndani ya kitanzi. 280 00:14:19,340 --> 00:14:24,580 Kwa var ufunguo wa kitu, siwezi tu kutumia ufunguo ndani ya kitanzi, 281 00:14:24,580 --> 00:14:29,040 kwa sababu mimi nina tu mahsusi kuzungumza juu ya maadili huko. 282 00:14:29,040 --> 00:14:32,630 >> Basi hebu labda kuchukua tuangalie tofauti 283 00:14:32,630 --> 00:14:35,670 tu kwa haraka kuonyesha Tofauti kati ya nne 284 00:14:35,670 --> 00:14:40,730 katika na kwa wa na maalum sana safu, ambayo sisi hapa, wiki safu. 285 00:14:40,730 --> 00:14:43,616 Hivyo nina kupata safu mpya kwamba mimi kujazwa na masharti saba, 286 00:14:43,616 --> 00:14:46,240 Jumatatu, Jumanne, Jumatano, Alhamisi, Ijumaa, Jumamosi, Jumapili. 287 00:14:46,240 --> 00:14:50,530 Na mimi nataka sasa iterate kupitia safu hii, 288 00:14:50,530 --> 00:14:53,090 uchapishaji nje habari fulani. 289 00:14:53,090 --> 00:14:58,780 Kama mimi kutumia kwa kitanzi katika magazeti nje ya habari, 290 00:14:58,780 --> 00:15:00,710 unafikiri nini mimi nina kwenda kupata? 291 00:15:00,710 --> 00:15:01,710 Naam, hebu tuangalie. 292 00:15:01,710 --> 00:15:05,300 Na kabla ya sisi kuruka juu kwa browser window wangu, 293 00:15:05,300 --> 00:15:08,090 tu kujua kwamba console.log ni aina ya mtu 294 00:15:08,090 --> 00:15:10,630 njia ya kufanya magazeti F katika JavaScript. 295 00:15:10,630 --> 00:15:12,040 Lakini ni nini console? 296 00:15:12,040 --> 00:15:14,940 Naam, hiyo ni nini tunakwenda kwenda kuangalia hivi sasa. 297 00:15:14,940 --> 00:15:16,850 >> OK, hivyo tuko nyuma hapa katika browser window wangu, 298 00:15:16,850 --> 00:15:19,410 na mimi nina kwenda kufungua up developer yangu zana. 299 00:15:19,410 --> 00:15:22,290 Tena, mimi kupiga F12 tu kufungua zana developer. 300 00:15:22,290 --> 00:15:25,670 Na taarifa kwamba hapa katika juu nimekuwa waliochaguliwa console. 301 00:15:25,670 --> 00:15:28,480 Hivyo hii ni dhana ya developer console, 302 00:15:28,480 --> 00:15:30,500 na itakuwa kuruhusu sisi magazeti ya kampuni nje, 303 00:15:30,500 --> 00:15:33,000 aina ya kama wastaafu, lakini kama utaona baadaye kidogo, 304 00:15:33,000 --> 00:15:37,720 sisi pia unaweza aina katika maelezo kuingiliana na mtandao wetu ukurasa. 305 00:15:37,720 --> 00:15:42,320 Mimi nina kwenda kuvuta kidogo hapa, na mimi nina gonna sasa click kwenye maana katika mtihani. 306 00:15:42,320 --> 00:15:45,230 Na nne katika test-- mimi nina gonna kuonyesha kificho kwa sasa hivi, 307 00:15:45,230 --> 00:15:47,479 lakini utasikia kupata kama wewe download chanzo kanuni kwamba 308 00:15:47,479 --> 00:15:50,380 ni kuhusishwa na video-- hii ni tu kwamba kwa kitanzi katika 309 00:15:50,380 --> 00:15:52,610 kuwa tuliona tu pili iliyopita juu ya slide. 310 00:15:52,610 --> 00:15:54,810 >> Hivyo mimi nina gonna click kwamba kifungo, na zaidi ya hapa, 311 00:15:54,810 --> 00:15:58,440 hapa ni nini ina kuchapishwa katika console, 0, moja, mbili, tatu, nne, tano, 312 00:15:58,440 --> 00:15:58,940 sita. 313 00:15:58,940 --> 00:16:02,490 Sikuwa magazeti nje maelezo ndani ya maeneo hayo safu, 314 00:16:02,490 --> 00:16:05,180 kwa sababu mimi kutumika kwa katika kitanzi. 315 00:16:05,180 --> 00:16:10,670 Na ndani ya mwili wa kitanzi, mimi tu kuchapishwa muhimu si kitu muhimu. 316 00:16:10,670 --> 00:16:18,600 Lakini kama mimi sasa wazi console wangu, nami kubadili kwa mtihani, na nne ya mtihani 317 00:16:18,600 --> 00:16:22,500 Nasema mimi kutumia kwa kitanzi cha badala na magazeti nje muhimu, 318 00:16:22,500 --> 00:16:28,079 kama mimi bonyeza kwamba, sasa mimi nina kupata mambo halisi ndani ya kitu yangu 319 00:16:28,079 --> 00:16:29,120 au safu yangu katika kesi hii. 320 00:16:29,120 --> 00:16:31,760 Safu yangu ya siku wiki. 321 00:16:31,760 --> 00:16:33,480 Mimi kuchapishwa Jumatatu, Jumanne, Jumatano. 322 00:16:33,480 --> 00:16:36,930 Hivyo hiyo ni tofauti kati a kwa katika kitanzi, ambayo Prints nje 323 00:16:36,930 --> 00:16:43,410 tu funguo kama wewe tu kutumia ufunguo ndani ya mwili wa kitanzi, 324 00:16:43,410 --> 00:16:46,850 na kwa ya kitanzi, ambayo prints nje maadili kama wewe tu kutumia 325 00:16:46,850 --> 00:16:48,870 ufunguo ndani ya mwili wa kitanzi. 326 00:16:48,870 --> 00:16:52,380 >> Haki wote, ni jinsi gani sisi sasa kuanza concatenate masharti na labda kuchanganya 327 00:16:52,380 --> 00:16:57,220 baadhi ya vigezo na kitabu kama tulikuwa na uwezo wa kufanya katika PHP? 328 00:16:57,220 --> 00:16:59,410 Naam, sisi ni pretty ukoo na hii kutoka PHP. 329 00:16:59,410 --> 00:17:04,109 Hii ni jinsi gani tunataka kufanya hivyo kwa kutumia dot operator kwa concatenate masharti. 330 00:17:04,109 --> 00:17:06,260 Katika JavaScript, ingawa, sisi kweli kutumia kitu 331 00:17:06,260 --> 00:17:09,290 aitwaye pamoja na alama, ambayo ni labda hata kidogo zaidi 332 00:17:09,290 --> 00:17:10,470 Intuitive, haki? 333 00:17:10,470 --> 00:17:12,609 Sisi ni kuongeza rundo ya masharti pamoja. 334 00:17:12,609 --> 00:17:14,520 Basi hebu kichwa nyuma zaidi na kuona nini huu 335 00:17:14,520 --> 00:17:18,693 magazeti kama sisi ni kujaribu magazeti nje wote wa habari katika wiki safu. 336 00:17:18,693 --> 00:17:20,859 Haki wote, hivyo chini ya hapa chini ya kamba concatenation, 337 00:17:20,859 --> 00:17:24,822 Nina chaguzi mbili, kamba jengo V1 na kisha kamba jengo V2. 338 00:17:24,822 --> 00:17:26,530 Na tutaweza kuona nini sisi haja V2 katika pili. 339 00:17:26,530 --> 00:17:28,610 Lakini mimi nina gonna click kwenye kamba jengo V1, ambayo 340 00:17:28,610 --> 00:17:30,360 ni kanuni tulikuwa tu kuchukua kuangalia, 341 00:17:30,360 --> 00:17:32,980 console.log na wote wa pluses. 342 00:17:32,980 --> 00:17:35,910 Hebu angalia kama hii prints nini tunatarajia. 343 00:17:35,910 --> 00:17:39,939 >> Jumatatu ni siku idadi 01 ya juma, Jumanne ni siku namba 11 ya wiki. 344 00:17:39,939 --> 00:17:41,730 Naam, ni nini mimi alikuwa anajaribu kufanya kulikuwa na kupata 345 00:17:41,730 --> 00:17:46,280 ni magazeti nje Jumatatu ni siku idadi moja, Jumanne ni siku namba mbili. 346 00:17:46,280 --> 00:17:50,140 Lakini inaonekana kama mimi nina Daima uchapishaji nje moja. 347 00:17:50,140 --> 00:17:51,260 Naam, kwa nini ni kwamba? 348 00:17:51,260 --> 00:17:55,600 Naam, ni zamu nje, tuangalie tena katika snippet hii ndogo ya kificho hapa. 349 00:17:55,600 --> 00:18:00,160 Taarifa kwamba sisi ni kutumia pamoja operator katika mazingira mawili tofauti. 350 00:18:00,160 --> 00:18:03,221 >> Na hivyo hapa ni wapi labda mambo kwamba tumekuwa aina ya wamekuwa wakisema, 351 00:18:03,221 --> 00:18:03,970 loo, ni kubwa sana. 352 00:18:03,970 --> 00:18:05,910 Hatuna kukabiliana na aina ya data tena. 353 00:18:05,910 --> 00:18:08,220 Lakini hapa ni ukweli ambapo kwamba tunapoteza aina ya data 354 00:18:08,220 --> 00:18:10,960 kweli anaweza kuwa kidogo nyingine ya matatizo kwetu. 355 00:18:10,960 --> 00:18:16,260 Sasa kwa kuwa pamoja na alama hutumika concatenate masharti na kuongeza idadi 356 00:18:16,260 --> 00:18:19,550 pamoja, na javascript ina kwa kufanya nadhani bora 357 00:18:19,550 --> 00:18:22,030 kama kwa nini nataka ni kufanya kwa ajili yangu. 358 00:18:22,030 --> 00:18:23,900 Na katika kesi hii, ni guessed vibaya. 359 00:18:23,900 --> 00:18:29,340 Ni tu concatenated siku, ambayo itakuwa ni 0, moja, mbili, tatu, nne, tano, sita au, 360 00:18:29,340 --> 00:18:32,060 na kisha tu concatenated kuwa na kisha concatenated moja. 361 00:18:32,060 --> 00:18:35,020 Haikuwa kweli kuongeza yao pamoja. 362 00:18:35,020 --> 00:18:37,320 Na hivyo lugha hizi, PHP na JavaScript, 363 00:18:37,320 --> 00:18:39,196 kuwa abstracts mbali wazo hili la aina, 364 00:18:39,196 --> 00:18:40,820 huna kukabiliana nayo tena. 365 00:18:40,820 --> 00:18:43,600 Hawana bado wana aina chini ya kofia. 366 00:18:43,600 --> 00:18:46,780 Na tunaweza, katika hali kama hii, kujiinua ukweli kwamba 367 00:18:46,780 --> 00:18:49,240 kwa kusema kitu kama labda hii, ambayo 368 00:18:49,240 --> 00:18:53,210 ni kuwaambia JavaScript, na njia, kutibu hii kama integer, 369 00:18:53,210 --> 00:18:57,100 hawana kutibu kama kamba, hata ingawa sisi ni kuchanganya pamoja masharti 370 00:18:57,100 --> 00:18:58,940 na integers hapa. 371 00:18:58,940 --> 00:19:02,204 >> Ni tu moja ya mambo kwamba inaonekana ni kubwa sana katika mazingira 372 00:19:02,204 --> 00:19:04,120 kwamba hatuna kwa kukabiliana na aina tena, 373 00:19:04,120 --> 00:19:05,828 lakini wakati mwingine utasikia kukimbia katika hali 374 00:19:05,828 --> 00:19:09,110 hasa kama hii ambapo ukweli kwamba huna mamlaka juu ya aina 375 00:19:09,110 --> 00:19:11,220 unaweza kukwama juu ya wewe kama wewe si makini. 376 00:19:11,220 --> 00:19:18,285 Na hivyo kama sisi pop nyuma zaidi kwa IDE, mimi nina kwenda wazi nje console yangu tena, 377 00:19:18,285 --> 00:19:20,660 na mimi nina kwenda click kamba jengo toleo la mawili, ambayo 378 00:19:20,660 --> 00:19:23,052 Hapa ndipo mimi kutumia kwamba parse int kazi. 379 00:19:23,052 --> 00:19:25,260 Sasa ni uchapishaji nje habari kwamba mimi nina kutarajia. 380 00:19:25,260 --> 00:19:29,330 Jumatatu siku namba moja, Jumanne ni siku namba mbili, na kadhalika. 381 00:19:29,330 --> 00:19:31,170 >> Basi hebu majadiliano juu ya kazi tena. 382 00:19:31,170 --> 00:19:34,790 Mimi aliahidi tunataka kuzungumza juu bila majina kazi, na sasa mazingira kwa kuwa 383 00:19:34,790 --> 00:19:36,360 ina hatimaye aliwasili. 384 00:19:36,360 --> 00:19:39,980 Hivyo kabla ya sisi kufanya hivyo, hebu majadiliano tena kuhusu arrays kwa ajili tu ya pili. 385 00:19:39,980 --> 00:19:42,120 Hivyo arrays ni maalum kesi ya kitu. 386 00:19:42,120 --> 00:19:45,180 Kwa kweli, kila kitu katika JavaScript ni kweli kitu. 387 00:19:45,180 --> 00:19:47,190 Hivyo kazi ni kesi maalum ya kitu, 388 00:19:47,190 --> 00:19:49,770 integers ni maalum kesi ya kitu, 389 00:19:49,770 --> 00:19:52,152 lakini arrays mahsusi kuwa na idadi ya mbinu. 390 00:19:52,152 --> 00:19:55,110 Kumbuka kwa sababu wao ni vitu, wanaweza kuwa na mali na mbinu. 391 00:19:55,110 --> 00:19:58,600 Wao kuwa na idadi ya mbinu kwamba inaweza kutumika kwa vitu hivyo. 392 00:19:58,600 --> 00:20:01,197 Kuna njia inayoitwa ukubwa, array.size, 393 00:20:01,197 --> 00:20:03,030 ambayo atarudi wewe kama unaweza kutarajia 394 00:20:03,030 --> 00:20:05,120 idadi ya vipengele katika safu yako. 395 00:20:05,120 --> 00:20:08,480 array.pop, aina ya kama dhana yetu ya yanajitokeza mbali 396 00:20:08,480 --> 00:20:11,110 ya stack, kama unakumbuka kutoka mwingi yetu video, 397 00:20:11,110 --> 00:20:13,810 kuondosha kipengele mwisho kutoka safu. 398 00:20:13,810 --> 00:20:17,110 array.push anaongeza kipengele mpya hadi mwisho wa safu. 399 00:20:17,110 --> 00:20:20,910 array.shift ni aina ya kama DQ, ni splices nje 400 00:20:20,910 --> 00:20:23,610 kipengele sana kwanza ya safu. 401 00:20:23,610 --> 00:20:27,549 >> Lakini pia kuna mwingine maalum njia ya safu kuitwa ramani. 402 00:20:27,549 --> 00:20:29,340 Na hii ni aina ya dhana ya kuvutia. 403 00:20:29,340 --> 00:20:30,930 Hivyo ni wazo la ramani nini? 404 00:20:30,930 --> 00:20:33,880 Itabidi kweli kuona hii katika lugha zingine kadhaa, 405 00:20:33,880 --> 00:20:38,550 na sisi siyo kuzungumza juu ya aina ya cartographers ramani hapa, 406 00:20:38,550 --> 00:20:41,480 tunazungumzia ramani kazi. 407 00:20:41,480 --> 00:20:44,110 Katika mazingira tuko kuzungumza juu hapa, ramani 408 00:20:44,110 --> 00:20:47,950 ni maalum operesheni sisi anaweza kufanya juu ya safu 409 00:20:47,950 --> 00:20:51,630 kuomba kazi fulani kwa kila kipengele cha safu hiyo. 410 00:20:51,630 --> 00:20:55,190 na hivyo tunataka kusema katika kesi hiyo, labda array.map, 411 00:20:55,190 --> 00:21:00,330 na ndani yake, sisi ni kupita ndani ya ramani ni kazi ambayo tunataka 412 00:21:00,330 --> 00:21:02,430 kutumika kwa kila kipengele moja. 413 00:21:02,430 --> 00:21:07,299 Hivyo ni aina ya sawa na kutumia kitanzi iterate juu ya kila kipengele 414 00:21:07,299 --> 00:21:09,340 na kuomba hasa kazi kwa kila kipengele, 415 00:21:09,340 --> 00:21:14,830 tu JavaScript ina hii kujengwa katika dhana ya ramani ambayo inaweza kutumika. 416 00:21:14,830 --> 00:21:19,700 Na hii ni mantiki kubwa ya majadiliano juu ya kazi bila majina. 417 00:21:19,700 --> 00:21:22,370 >> Hivyo hebu sema tuna safu hii ya integers. 418 00:21:22,370 --> 00:21:25,370 Ni wito nums, na ni got tano mambo ndani yake, moja, mbili, tatu, nne, 419 00:21:25,370 --> 00:21:26,410 tano. 420 00:21:26,410 --> 00:21:30,620 Sasa nataka map baadhi kazi kwenye safu hii. 421 00:21:30,620 --> 00:21:34,337 Nataka kuwa na kazi kuomba kwa kila kipengele cha safu. 422 00:21:34,337 --> 00:21:37,420 Naam, hebu kusema kwamba nini nataka kufanya ni mara mbili tu wote wa mambo. 423 00:21:37,420 --> 00:21:42,520 Kitu ambacho ninaweza kufanya ni tu kutumia kitanzi kwa var mimi ni sawa na 0, mimi ni chini ya 424 00:21:42,520 --> 00:21:47,390 au kwa sawa 4, mimi pamoja, pamoja, na kisha mara mbili kila namba moja. 425 00:21:47,390 --> 00:21:49,580 Lakini siwezi pia kufanya kitu kama hiki. 426 00:21:49,580 --> 00:21:53,420 Naweza kusema nums ilikuwa zamani moja, mbili, tatu, nne, tano, 427 00:21:53,420 --> 00:21:58,310 sasa, ingawa, napenda wewe kuomba ramani kwenye safu hii 428 00:21:58,310 --> 00:22:00,400 ambapo Ningependa kuongeza mara mbili kila idadi. 429 00:22:00,400 --> 00:22:02,540 Na hii ndiyo hasa nini kinatokea hapa. 430 00:22:02,540 --> 00:22:06,870 Lakini taarifa nini mimi kupita katika kama hoja kwa ramani. 431 00:22:06,870 --> 00:22:09,080 Hii ni kazi bila majina. 432 00:22:09,080 --> 00:22:11,140 Na taarifa mimi si kupewa hii kazi jina, 433 00:22:11,140 --> 00:22:13,290 Nimekuwa tu iliyotolewa yake orodha parameter. 434 00:22:13,290 --> 00:22:16,370 Na hivyo hii ni mfano ya kazi bila majina. 435 00:22:16,370 --> 00:22:21,270 >> Sisi kwa ujumla kamwe wito huu kazi nje ya mazingira ya ramani. 436 00:22:21,270 --> 00:22:24,110 Sisi ni kufafanua kama parameter ramani, na hivyo sisi si kweli 437 00:22:24,110 --> 00:22:27,910 haja ya kuwa na jina kwa ajili yake kama Kitu tu kwamba anayejali kuhusu ni ramani 438 00:22:27,910 --> 00:22:30,339 na ni kuelezwa haki kuna ndani ya ramani. 439 00:22:30,339 --> 00:22:31,880 Na hivyo hii ni kazi bila majina. 440 00:22:31,880 --> 00:22:34,680 Sisi hawajaweza kufanya hivyo hapo awali. 441 00:22:34,680 --> 00:22:38,400 Ramani baadhi ya kazi kwamba anapokea parameter moja, num, 442 00:22:38,400 --> 00:22:41,890 na nini kazi hiyo haina ni faida Hesabu mara 2. 443 00:22:41,890 --> 00:22:45,330 Na hivyo baada ya hii ramani imekuwa inatumika, 444 00:22:45,330 --> 00:22:50,090 hii ni sasa nini nums inaonekana kama, mbili, nne, sita, nane, 10. 445 00:22:50,090 --> 00:22:52,090 Na tutaweza pop juu ya yangu browser window na tu 446 00:22:52,090 --> 00:22:55,240 tuangalie hii kweli haraka pia. 447 00:22:55,240 --> 00:22:58,000 >> Hivyo nina kifungo mwingine hapa katika ukurasa wangu wa nyumbani aitwaye mbili. 448 00:22:58,000 --> 00:23:03,570 Na wakati mimi bonyeza mara mbili, na anaelezea mimi kabla alikuwa moja, mbili, tatu, nne, 449 00:23:03,570 --> 00:23:07,250 tano baada ya mbili, nne, sita, nane, 10. 450 00:23:07,250 --> 00:23:11,930 Na kama mimi kurudi nyuma na bonyeza mara mbili tena, mbili, nne, sita, nane, 10. 451 00:23:11,930 --> 00:23:17,400 Na kisha baada, nne, nane, 12, 16, na kisha 20. 452 00:23:17,400 --> 00:23:20,440 Na je, Mimi kufanya katika kazi hii? 453 00:23:20,440 --> 00:23:25,210 Naam, kama sisi tu pop juu ya IDE, na Mimi kuvuta up kazi yangu bila majina, hapa 454 00:23:25,210 --> 00:23:28,780 kwenye mstari saba kwa njia ya 13, mimi nina kufanya kidogo kazi dhana hapa, 455 00:23:28,780 --> 00:23:32,240 lakini mimi nina uchapishaji tu nje nini sasa katika safu. 456 00:23:32,240 --> 00:23:36,580 Kisha katika mstari wa 16, 17, na 18, kuna ramani yangu. 457 00:23:36,580 --> 00:23:40,930 Hii ni pale ambapo mimi nina kutumia mara dufu hii kazi kwa kila kipengele moja. 458 00:23:40,930 --> 00:23:43,530 Na kisha kidogo zaidi chini, Mimi nina kufanya kitu kimoja tu 459 00:23:43,530 --> 00:23:46,640 Mimi nilikuwa kufanya kabla, ila sasa mimi nina uchapishaji nje yaliyomo ya safu 460 00:23:46,640 --> 00:23:48,167 baadaye. 461 00:23:48,167 --> 00:23:50,500 Lakini yote nimepata kufanyika hapa ni tu kutumia kazi bila majina 462 00:23:50,500 --> 00:23:53,640 ramani hela safu nzima. 463 00:23:53,640 --> 00:23:58,466 >> Hivyo moja zaidi kubwa ya mada ya majadiliano juu katika JavaScript ni dhana ya tukio hilo. 464 00:23:58,466 --> 00:24:01,590 Tukio hilo ni jambo ambalo hutokea tu wakati mtumiaji interacts na mtandao wako 465 00:24:01,590 --> 00:24:04,715 ukurasa, hivyo labda wao bonyeza kitu, au labda ukurasa imekwisha kupakia, 466 00:24:04,715 --> 00:24:07,200 au labda wameweza wakiongozwa panya wao juu ya jambo fulani, 467 00:24:07,200 --> 00:24:09,290 au wameweza typed kitu katika uwanja pembejeo. 468 00:24:09,290 --> 00:24:14,260 Mambo yote haya ni matukio ambayo yanatokea kwenye mtandao wetu ukurasa. 469 00:24:14,260 --> 00:24:17,460 Na JavaScript ina uwezo wa kusaidia kitu 470 00:24:17,460 --> 00:24:21,760 aitwaye tukio handler, ambayo ni kazi callback kwamba 471 00:24:21,760 --> 00:24:23,329 anaitikia kwa tukio html. 472 00:24:23,329 --> 00:24:24,620 Na nini kazi callback? 473 00:24:24,620 --> 00:24:27,328 Naam, ni kwa ujumla mwingine tu jina kwa kazi bila majina. 474 00:24:27,328 --> 00:24:30,170 Ni kazi ambayo anaitikia kwa tukio hilo. 475 00:24:30,170 --> 00:24:34,130 Na hii ni mahali ambapo sisi kuja wazo la kisheria baadhi ya kazi 476 00:24:34,130 --> 00:24:38,060 kwa fulani html sifa. 477 00:24:38,060 --> 00:24:41,420 Wengi html mambo na msaada kwa ajili ya sifa 478 00:24:41,420 --> 00:24:45,170 kwamba hatukuwa kuzungumzia katika html video kwa kitu kama juu ya click 479 00:24:45,170 --> 00:24:50,540 au juu ya hover au juu ya mzigo, wote wa matukio haya 480 00:24:50,540 --> 00:24:53,120 uweze kisha kuandika kazi kuwa mpango huo kwa matukio hayo 481 00:24:53,120 --> 00:24:56,090 wakati matukio hayo kutokea kwenye mtandao ukurasa wako. 482 00:24:56,090 --> 00:24:59,170 >> Na hivyo labda html yako inaonekana kitu kama hiki. 483 00:24:59,170 --> 00:25:02,240 Na mimi kuwa vifungo mbili hapa, kifungo moja na kifungo mbili, 484 00:25:02,240 --> 00:25:04,620 na hapa nina sasa inavyoelezwa kitu, 485 00:25:04,620 --> 00:25:11,170 lakini hii ni mahali ambapo sifa juu ya click ni inaonekana sehemu ya html tag yangu. 486 00:25:11,170 --> 00:25:15,220 Hivyo inaonekana wakati mimi kufafanua nini kinachoendelea ndani ya kwamba sifa, 487 00:25:15,220 --> 00:25:18,590 ni kwenda kuwa baadhi JavaScript kazi ambayo anaitikia kwa tukio 488 00:25:18,590 --> 00:25:24,360 labda ya kubonyeza kifungo moja au kifungo hizo mbili. 489 00:25:24,360 --> 00:25:28,580 >> Nini aina ya baridi kuhusu hili ni sisi Unaweza kuandika kurefusha maisha tukio handler. 490 00:25:28,580 --> 00:25:32,370 Na hii Handler tukio mapenzi kujenga tukio kitu. 491 00:25:32,370 --> 00:25:37,000 Na tukio kitu kutuambia yupi kati ya vifungo mbili ilikuwa clicked. 492 00:25:37,000 --> 00:25:38,064 Sasa jinsi gani kazi hiyo? 493 00:25:38,064 --> 00:25:39,730 Naam, inaweza kuangalia kitu kama hiki. 494 00:25:39,730 --> 00:25:44,860 Hivyo tutakuwa kwanza kufafanua vifungo yetu kuwa na kukabiliana na callback 495 00:25:44,860 --> 00:25:47,470 kazi ambayo wataitwa wakati kifungo ni clicked, 496 00:25:47,470 --> 00:25:49,520 tutaweza wito tukio tahadhari jina. 497 00:25:49,520 --> 00:25:53,320 Na taarifa katika kesi zote mbili tuko kupita katika hii parameter tukio hilo. 498 00:25:53,320 --> 00:25:55,460 Hivyo sisi kuwaita kazi hii au wakati kazi hii 499 00:25:55,460 --> 00:26:00,330 ni yalisababisha na tukio kinachotokea, itakuja kujenga hii kitu tukio 500 00:26:00,330 --> 00:26:03,300 na kuupitisha kama parameter kwa macho jina. 501 00:26:03,300 --> 00:26:07,270 Na kwamba tukio kitu ni kwenda yana habari 502 00:26:07,270 --> 00:26:09,800 kuhusu ambayo kifungo ilikuwa clicked. 503 00:26:09,800 --> 00:26:11,580 Na jinsi gani kufanya hivyo? 504 00:26:11,580 --> 00:26:13,654 Naam, inaweza kuangalia kitu kama hiki. 505 00:26:13,654 --> 00:26:15,570 Hivyo sasa katika tofauti yangu JavaScript faili, nipate 506 00:26:15,570 --> 00:26:17,420 una kupata hii kazi tahadhari jina, ambayo 507 00:26:17,420 --> 00:26:19,500 tena anakubali kuwa parameter tukio hilo. 508 00:26:19,500 --> 00:26:24,640 Na kisha hapa ni mahali ambapo mimi nina kuchunguza ambayo ilikuwa yalisababisha kifungo, 509 00:26:24,640 --> 00:26:28,100 var trigger sawa na tukio dot chanzo kipengele. 510 00:26:28,100 --> 00:26:33,150 Nini ilikuwa chanzo kwamba kuundwa hii kitu tukio hilo kuwa ilipitishwa katika? 511 00:26:33,150 --> 00:26:36,390 Ilikuwa ni kifungo moja au ilikuwa ni kifungo mbili? 512 00:26:36,390 --> 00:26:40,710 >> Na kisha hapa zote mimi nina kufanya ni uchapishaji nje trigger.innerhtml. 513 00:26:40,710 --> 00:26:43,860 Naam, katika kesi hii, katika hii mazingira, trigger.innerhtml 514 00:26:43,860 --> 00:26:45,940 ni yale tu yaliyoandikwa juu ya kifungo. 515 00:26:45,940 --> 00:26:48,830 Ni hivyo tu hutokea kama sisi kuruka nyuma kwa ajili ya pili, kwamba ingekuwa 516 00:26:48,830 --> 00:26:51,670 kuwa nini katika kati ya vitambulisho wale kifungo. 517 00:26:51,670 --> 00:26:54,150 Itakuwa kifungo moja au kifungo hizo mbili. 518 00:26:54,150 --> 00:26:57,320 Na hebu tuangalie jinsi hii handler tukio ingekuwa 519 00:26:57,320 --> 00:27:01,080 kuangalia kama tulikuwa ni mbio katika mazoezi. 520 00:27:01,080 --> 00:27:03,850 >> Hivyo kwanza ya yote, wewe wameweza imefungua events.js, 521 00:27:03,850 --> 00:27:06,517 ambayo ni JavaScript faili ambapo I have inavyoelezwa kazi hii. 522 00:27:06,517 --> 00:27:08,558 Na kama unaweza kuona, ni pretty much nini hasa 523 00:27:08,558 --> 00:27:10,230 sisi tu kuona kwenye slide pili iliyopita. 524 00:27:10,230 --> 00:27:14,890 Nami kwenda juu ya ukurasa wa nyumbani tumekuwa kutumia. 525 00:27:14,890 --> 00:27:17,660 Na mimi kuwa hapa kifungo moja na kifungo hizo mbili. 526 00:27:17,660 --> 00:27:19,820 Na mimi itabidi bonyeza kifungo moja. 527 00:27:19,820 --> 00:27:23,930 Wewe clicked juu ya kifungo moja, kama wewe Unaweza kuona haki hapa katika tahadhari. 528 00:27:23,930 --> 00:27:25,810 SAWA. 529 00:27:25,810 --> 00:27:28,980 Bonyeza kifungo mbili, clicked juu ya kifungo mbili. 530 00:27:28,980 --> 00:27:32,150 >> Hivyo vifungo wote wana sawa kazi wito, sawa? 531 00:27:32,150 --> 00:27:35,840 Wote wawili walikuwa jina tahadhari tukio, lakini hii kitu tukio 532 00:27:35,840 --> 00:27:41,900 kwamba anapata kuundwa wakati sisi bonyeza inatuambia ambayo kifungo ilikuwa clicked. 533 00:27:41,900 --> 00:27:44,650 Hatukuwa na kuandika tofauti mbili kazi au kukabiliana na kuwa na 534 00:27:44,650 --> 00:27:46,470 kupita maelezo yoyote ya ziada. 535 00:27:46,470 --> 00:27:48,220 Sisi ni kutegemea tu juu ya nini JavaScript mapenzi 536 00:27:48,220 --> 00:27:53,772 kufanya kwa ajili yetu, ambayo ni kujenga kwamba aina ya tukio kitu kwa niaba yetu. 537 00:27:53,772 --> 00:27:56,730 Kuna mengi zaidi kwa JavaScript kuliko nini tumekuwa kufunikwa katika video hii, 538 00:27:56,730 --> 00:27:58,521 lakini baada ya haya msingi lazima kupata wewe 539 00:27:58,521 --> 00:28:00,690 kabisa njia ya muda mrefu kwa kujifunza kila kitu utasikia 540 00:28:00,690 --> 00:28:04,030 unahitaji kujua kuhusu hii kuvutia lugha. 541 00:28:04,030 --> 00:28:05,000 Mimi nina Doug Lloyd. 542 00:28:05,000 --> 00:28:07,010 Hii ni CS50. 543 00:28:07,010 --> 00:28:09,181