1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminè] [JavaScript Frameworks:? Poukisa ak Kouman] 2 00:00:02,000 --> 00:00:04,000 [Kevin Schmid] [Inivèsite Harvard] 3 00:00:04,000 --> 00:00:06,960 [Sa a se CS50.] [CS50.TV] 4 00:00:06,960 --> 00:00:10,630 >> Hi, tout moun. Byenveni nan seminè a Frameworks JavaScript. 5 00:00:10,630 --> 00:00:14,910 Non mwen se Kevin, ak jodi a mwen pral yo dwe pale sou JavaScript cadres, 6 00:00:14,910 --> 00:00:20,400 ak objektif la nan sa a seminè se pa pou fè w, di, metrize yon fondasyon patikilye se pou chak 7 00:00:20,400 --> 00:00:23,810 men yo ba ou yon entwodiksyon gwo nan yon koup la cadres 8 00:00:23,810 --> 00:00:27,150 epi montre poukisa nou ta tout tan tout tan vle itilize yon fondasyon. 9 00:00:27,150 --> 00:00:31,060 >> Anvan sa, mwen fè sa, mwen pral bay yon background ti kras nan JavaScript, 10 00:00:31,060 --> 00:00:33,750 ak Lè sa a nou pral pran li nan men la. 11 00:00:33,750 --> 00:00:36,270 Nou pral kòmanse pa mete ann aplikasyon yon lis a-fè. 12 00:00:36,270 --> 00:00:39,330 Isit la nan lis travay nou yo pou jodi a. 13 00:00:39,330 --> 00:00:41,990 Li nan kalite amizan. Nou gen aplike yon lis a-fè nan JavaScript. 14 00:00:41,990 --> 00:00:45,110 Sa a se sa li pral gade tankou, se konsa sa a, se objektif premye nou yo. 15 00:00:45,110 --> 00:00:47,160 Nou pa pwal sèvi ak yon fondasyon fè sa. 16 00:00:47,160 --> 00:00:51,930 Nou pral Kòd JavaScript epi pou yo jwenn lis la a-fè nan travay. 17 00:00:51,930 --> 00:00:54,370 Lè sa a, nou pral amelyore desen an san yo pa itilize yon fondasyon. 18 00:00:54,370 --> 00:00:57,190 Nou pral diskite sou bagay sa yo divès kalite nou ka fè ak jis JavaScript pou kont li 19 00:00:57,190 --> 00:01:00,650 fè nou yo-fè lis yon ti kras plis byen fèt. 20 00:01:00,650 --> 00:01:02,490 Lè sa a, nou pral jete nan kèk jQuery, 21 00:01:02,490 --> 00:01:05,030 ak Lè sa a nou pral gade nan menm bagay la tou a-fè lis, 22 00:01:05,030 --> 00:01:07,170 jis aplike nan estrikti diferan, epi nou pral diskite sou 23 00:01:07,170 --> 00:01:09,280  avantaj yo ak dezavantaj sou wout la. 24 00:01:09,280 --> 00:01:12,040 >> Ann kòmanse mete ann aplikasyon ki a-fè lis la. 25 00:01:12,040 --> 00:01:14,270 Se pou nou di nou ap bay sa a HTML. 26 00:01:14,270 --> 00:01:16,620 Mwen pral fè sa-a yon ti kras pi piti. 27 00:01:16,620 --> 00:01:19,300 Kòm ou ka wè, mwen gen yon header ti kras ki di todo 28 00:01:19,300 --> 00:01:21,740 ak yon bwat ti kras kote mwen ka antre nan yon deskripsyon yon todo 29 00:01:21,740 --> 00:01:26,990 ak Lè sa a yon bouton atik nouvo, se konsa kite a eseye antre nan yon todo ki nouvo nan lis sa a. 30 00:01:26,990 --> 00:01:31,000 Bay yon JavaScript cadres seminè-a, 31 00:01:31,000 --> 00:01:33,090 ak mwen se frape nouvo atik. 32 00:01:33,090 --> 00:01:35,730 Mwen jwenn sa a alèt JavaScript ki di aplike m '. 33 00:01:35,730 --> 00:01:37,560 Nou te gen aplike li. 34 00:01:37,560 --> 00:01:41,490 Se pou yo tcheke deyò Kòd la pou sa a, tou de nan HTML ak JavaScript la. 35 00:01:41,490 --> 00:01:43,260 Isit la nan HTML nou an. 36 00:01:43,260 --> 00:01:45,500 Kòm ou ka wè isit la, isit la nan ti kras nou an TODOS header. 37 00:01:45,500 --> 00:01:47,620 Sa ki te ke bagay fonse nan tèt la, 38 00:01:47,620 --> 00:01:50,690 ak Lè sa a nou gen ti bwat la opinyon ak kontneur a, 39 00:01:50,690 --> 00:01:59,460 ak Lè sa a gen yon atribi sèten nan bouton sa-a ki mande sa a addTodo fonksyon. 40 00:01:59,460 --> 00:02:05,460 okenn moun vle devine kisa ki sou klike sou ki siyifye? 41 00:02:05,460 --> 00:02:07,390 [Elèv fèbl repons] 42 00:02:07,390 --> 00:02:09,289 Bon, klike sou la sou se sòt de tankou yon evènman, 43 00:02:09,289 --> 00:02:12,120 tankou klike sourit la se jis yon evènman, ak sa n ap fè 44 00:02:12,120 --> 00:02:16,890 se nou ap mare evènman an nan klike bouton sa-a egzekite ki fonksyon. 45 00:02:16,890 --> 00:02:21,700 AddTodo sa a moun kap okipe-evènman pou klike ke bouton. 46 00:02:21,700 --> 00:02:25,010 >> Kòm ou ka wè, lè mwen klike sou bouton an atik nouvo 47 00:02:25,010 --> 00:02:29,940 vin evènman an klike sou yo te tire, ak vin fonksyon sa a yo rele. 48 00:02:29,940 --> 00:02:33,170 Se pou yo gade nan fonksyon. 49 00:02:33,170 --> 00:02:36,260 Kòm ou ka wè, isit la nan Kòd JavaScript mwen twò lwen. 50 00:02:36,260 --> 00:02:41,280 Kisa mwen gen nan tèt la se yon estrikti done mondyal la pou a-fè lis mwen an. 51 00:02:41,280 --> 00:02:44,060 Li sanble ke yon etalaj. Se jis nan yon etalaj vid. 52 00:02:44,060 --> 00:02:47,100 Lè sa a, mwen gen fonksyon an addTodo ke nou te wè pi bonè, 53 00:02:47,100 --> 00:02:50,740 ak liy lan sèlman nan kòd nan gen sa a alèt yo. 54 00:02:50,740 --> 00:02:55,730 Li avèti aplike m ', ak Lè sa a mwen gen 2 travay nan men yo. 55 00:02:55,730 --> 00:02:58,790 Mwen gen ajoute todo la ak sa yo ki estrikti mondyal done, 56 00:02:58,790 --> 00:03:01,860 ak Lè sa a mwen vle trase soti lis la a-fè. 57 00:03:01,860 --> 00:03:06,360 Pa gen anyen twò imajine jis ankò, men JavaScript ou ka familyè avèk, 58 00:03:06,360 --> 00:03:12,370 se konsa mwen pral ale dousman ak revize fondamantal sou JavaScript nan ki fason. 59 00:03:12,370 --> 00:03:15,490 >> Se pou yo bay sa a yon piki. 60 00:03:15,490 --> 00:03:21,130 Se pou nou di itilizatè a antre nan yon bagay nan bwat sa a. 61 00:03:21,130 --> 00:03:23,360 Mwen jis tape yon bagay nan isit la, tèks. 62 00:03:23,360 --> 00:03:27,620 Kouman pou mwen sòt de aksè tèks sa a nan JavaScript? 63 00:03:27,620 --> 00:03:32,500 Sonje ke JavaScript, youn nan karakteristik fondamantal li yo se ke li ba nou 64 00:03:32,500 --> 00:03:34,670 sa a aksè pwogram Dom la. 65 00:03:34,670 --> 00:03:40,670 Li pèmèt nou gen aksè a eleman ak pwopriyete yo nan sa a HTML vrè. 66 00:03:40,670 --> 00:03:43,430 Fason nou fè sa ak fè zo JavaScript 67 00:03:43,430 --> 00:03:51,360 se nou ka aktyèlman sèvi ak yon fonksyon nan JavaScript rele getElementByID. 68 00:03:51,360 --> 00:03:55,140 Mwen vle nan magazen tèks la ki nan tape gen nan kèk varyab, 69 00:03:55,140 --> 00:03:58,350 se konsa mwen pral di yon varyab ki rele New new_todo, 70 00:03:58,350 --> 00:04:01,980 ak mwen pral jwenn ki eleman. 71 00:04:01,980 --> 00:04:06,330 Sa a se yon fonksyon,. GetElementByID. 72 00:04:06,330 --> 00:04:11,580 Epi, koulye a mwen jwenn yon eleman pa ID, se konsa mwen bezwen ID sa a nan bwat tèks, 73 00:04:11,580 --> 00:04:15,860 Se konsa, mwen te bay li new_todo_description an ID. 74 00:04:15,860 --> 00:04:18,399 Sa a ki jan mwen pral jwenn yon eleman. 75 00:04:18,399 --> 00:04:23,880 Sa a agiman mwen an fonksyon sa a, ou presize ki ID jwenn. 76 00:04:23,880 --> 00:04:28,110 Se konsa, sa a, se yon eleman nan HTML, epi li gen pwopriyete. 77 00:04:28,110 --> 00:04:30,650 Ou te wè sa yo. Yo ap atribi. 78 00:04:30,650 --> 00:04:37,090 Se atribi nan eleman nan tèks ki magazen D 'itilizatè a yo rele valè. 79 00:04:37,090 --> 00:04:40,860 Mwen sove valè a nan ki bwat tèks kounye a nan sa a varyab rele new_todo. 80 00:04:40,860 --> 00:04:45,040 Koulye a, mwen gen pwogram aksè a sa a varyab, ki se kalite fre 81 00:04:45,040 --> 00:04:49,200 paske kounye a sa m 'ka fè se mwen ka ajoute li nan a-fè lis mwen an. 82 00:04:49,200 --> 00:04:52,870 >> Fason a nou ta fè sa nan JavaScript-yo ak pa enkyete si w ap abitye ak sa a, 83 00:04:52,870 --> 00:04:57,010 men jis ale atravè tout li se todos.push 84 00:04:57,010 --> 00:05:00,130 paske se non an nan estrikti mondyal mwen done moute isit la, 85 00:05:00,130 --> 00:05:04,450 ak Mwen pral pouse new_todo. 86 00:05:04,450 --> 00:05:09,120 Sa a se gwo paske koulye a, mwen te ajoute li nan JavaScript mwen 87 00:05:09,120 --> 00:05:11,280 reprezantasyon nan ki a-fè lis la. 88 00:05:11,280 --> 00:05:15,170 Men koulye a, Kouman pou mwen jwenn li tounen nan HTML a? 89 00:05:15,170 --> 00:05:18,560 Mwen gen jwenn yon fason sòt nan pouse l 'tounen. 90 00:05:18,560 --> 00:05:21,830 Nan lòt mo, mwen kalite gen trase sa a. 91 00:05:21,830 --> 00:05:26,060 Ki sa nou pwal fè se nou pral trase lis la a-fè. 92 00:05:26,060 --> 00:05:29,270 Mwen bezwen mete ajou lòt HTML sou paj sa a, 93 00:05:29,270 --> 00:05:32,040 ak jan ou ka wè, mwen te kite sa a veso ti kras isit la, 94 00:05:32,040 --> 00:05:36,840 sa a separasyon nan paj la ki gen ID a se TODOS, 95 00:05:36,840 --> 00:05:40,870 ak Mwen pral mete lis la a-fè a. 96 00:05:40,870 --> 00:05:47,240 Premye mwen pral klè li soti paske, di, te gen yon fin vye granmoun a-fè lis la. 97 00:05:47,240 --> 00:05:49,560 Mwen jwenn ke eleman pa ID ankò, 98 00:05:49,560 --> 00:05:54,530 ak mwen aksè HTML anndan an nan ki eleman, 99 00:05:54,530 --> 00:05:58,010 ak Mwen pral klè ke. 100 00:05:58,010 --> 00:06:05,510 Si nou kite sa a Kòd kòm se, nou ta wè yon pa gen anyen vid la, 101 00:06:05,510 --> 00:06:10,410 e kounye a, mwen vle kòmanse rann moun nouvo mwen an-fè lis. 102 00:06:10,410 --> 00:06:12,870 Mwen fondamantalman ale nan siye soti lis a-fè m 'yo. 103 00:06:12,870 --> 00:06:18,180 >> Koulye a, anndan anndan HTML nan ki div TODOS se konplètman klè, 104 00:06:18,180 --> 00:06:20,060 e kounye a, mwen bezwen kòmanse ajoute lis mwen an. 105 00:06:20,060 --> 00:06:23,890 Premye bagay mwen vle ajoute tounen se tag nan lis unordered, 106 00:06:23,890 --> 00:06:33,890 ki fondamantalman vle di ke sa a se kòmansman an nan yon lis unordered. 107 00:06:33,890 --> 00:06:39,770 Koulye a, pou chak eleman nan etalaj TODOS mwen mwen vle enprime li andedan nan ki HTML. 108 00:06:39,770 --> 00:06:43,710 Mwen vle kole l 'sou anba a nan lis sa a. 109 00:06:43,710 --> 00:06:49,040 Jis tankou nan C, mwen ka sèvi ak yon pou bouk, ak mwen pral kòmanse nan kòmansman an nan lis mwen an 110 00:06:49,040 --> 00:06:54,140 nan eleman 0, epi mwen pral ale tout wout la longè a nan lis la. 111 00:06:54,140 --> 00:07:01,100 Nou ka aktyèlman jwenn longè a nan yon etalaj nan JavaScript lè l sèvi avèk pwopriyete a longè. 112 00:07:01,100 --> 00:07:03,420 Fondamantalman Mwen pral fè yon bagay trè menm jan andedan nan isit la 113 00:07:03,420 --> 00:07:05,600 ekri ak lèt ​​detache soti ke eleman. 114 00:07:05,600 --> 00:07:12,970 Mwen ka ankò gen aksè nan div a TODOS, anndan pwopriyete a HTML nan sa, 115 00:07:12,970 --> 00:07:17,560 ak mwen pral ajoute sou sa a atik lis nouvo, e ke sa k ap pase yo dwe antoure pa 116 00:07:17,560 --> 00:07:25,390 sa a tag Li, ak mwen pral anchene ak operatè a +, 117 00:07:25,390 --> 00:07:28,040 e ke sa a eleman nan on nan etalaj TODOS m 'yo, 118 00:07:28,040 --> 00:07:32,380 ak Lè sa a mwen pral fèmen ki tag. 119 00:07:32,380 --> 00:07:36,240 Koulye a, pou chak eleman nou pral ajoute yon antre lis nouvo. 120 00:07:36,240 --> 00:07:48,700 Lè sa a, tout sa nou vrèman bezwen fè se fèmen-la ki tag. 121 00:07:48,700 --> 00:07:52,820 Mwen jis bezwen fèmen-la ki unordered tag lis la. 122 00:07:52,820 --> 00:07:55,490 >> ou jwenn yon santi yo pou ki jan ki travay? 123 00:07:55,490 --> 00:07:57,700 Sa a ouvè lis la tout antye. 124 00:07:57,700 --> 00:08:01,080 Sa vin ajoute eleman moun ki soti nan lis la TODOS nan lis la, 125 00:08:01,080 --> 00:08:05,470 ak Lè sa a ki fèmen lis la tout antye, e sa se fonksyon addTodo mwen. 126 00:08:05,470 --> 00:08:09,590 Mwen fondamantalman kòmanse pa jwenn todo a soti nan ti bwat la tèks. 127 00:08:09,590 --> 00:08:18,950 Mwen ajoute ke yo etalaj la TODOS, ak Lè sa a, mwen re-rann lis la a-fè. 128 00:08:18,950 --> 00:08:21,520 Koulye a, mwen ka ajoute atik nan lis mwen. 129 00:08:21,520 --> 00:08:24,620 Sa a se kalite eksitan paske nan jis yon liy kèk nan kòd 130 00:08:24,620 --> 00:08:28,240 nou te fondamantalman fè yon lis a-fè kote nou ka ajoute atik yo. 131 00:08:28,240 --> 00:08:30,050 Great. 132 00:08:30,050 --> 00:08:34,480 Sa a kalite yon entwodiksyon debaz nan JavaScript. 133 00:08:34,480 --> 00:08:36,179 pa enkyete twòp sou sentaks la pou kounye a, 134 00:08:36,179 --> 00:08:38,130 men panse osijè de sa a concept. 135 00:08:38,130 --> 00:08:40,539 Nou te gen kèk HTML. 136 00:08:40,539 --> 00:08:45,310 Nou te gen yon bwat tèks sou paj la ki fondamantalman pèmèt itilizatè yo opinyon yon atik a-fè ajoute. 137 00:08:45,310 --> 00:08:49,210 Lè sa a, nou itilize JavaScript a al pran ki todo soti nan ki bwat tèks. 138 00:08:49,210 --> 00:08:52,830 Nou estoke ki andedan yon etalaj JavaScript, ki se fondamantalman tankou 139 00:08:52,830 --> 00:08:56,010 reprezantasyon pwogram nou an ke yo-fè lis, 140 00:08:56,010 --> 00:08:59,060 ak Lè sa a nou enprime li soti. 141 00:08:59,060 --> 00:09:02,690 Sa a se todos.js. 142 00:09:02,690 --> 00:09:07,620 >> Sa a se kalite fre, men ki jan nou ka pran sa a pi lwen? 143 00:09:07,620 --> 00:09:11,350 Bon, kòm ou ka wè, sa a se pa tankou yon nèt sou tout pwen a-fè lis la. 144 00:09:11,350 --> 00:09:15,100 Pou egzanp, mwen pa ka make nenpòt nan bagay sa yo kòm konplè, 145 00:09:15,100 --> 00:09:19,920 renmen si mwen te vle reprioritize atik yo oswa efase atik yo. 146 00:09:19,920 --> 00:09:23,150 Sa a se oke, men nou ka pran sa a pi lwen. 147 00:09:23,150 --> 00:09:29,280 Mwen pa pral pale twòp sou ajoute karakteristik siplemantè, 148 00:09:29,280 --> 00:09:32,800 men nou te ka pran ki pi lwen. 149 00:09:32,800 --> 00:09:35,970 Se pou nou pale sou yo ajoute yon plis karakteristik sa a a-fè lis, 150 00:09:35,970 --> 00:09:40,370 ki se yo pral ke yo te kapab tcheke yon moun a-fè atik 151 00:09:40,370 --> 00:09:44,780 epi yo gen li dwe janbe lòt soti, se konsa fondamantalman li di mwen te fè sa a. 152 00:09:44,780 --> 00:09:50,240 Se pou yo gade nan kèk kòd ki te kapab akonpli sa. 153 00:09:50,240 --> 00:09:52,740 Avi sa m 'te fè nan tèt la se mwen te ajoute 154 00:09:52,740 --> 00:09:57,620 yon nouvo etalaj mondyal rele konplè. 155 00:09:57,620 --> 00:10:02,890 Mwen fondamantalman lè l sèvi avèk sa a nan magazen si atik yo sou lis la a-fè 156 00:10:02,890 --> 00:10:06,560 yo konplè oswa ou pa. 157 00:10:06,560 --> 00:10:08,470 Sa a se youn fason yo fè sa. 158 00:10:08,470 --> 00:10:13,750 Si m 'gade nan aplikasyon an nan sa a, montre a, 159 00:10:13,750 --> 00:10:21,120 fondamantalman si mwen antre nan yon todo ak mwen peze bouton sa a activer 160 00:10:21,120 --> 00:10:25,040 li kwaze soti, sa chak atik sou lis sa a gen swa yon nèt sou tout pwen 161 00:10:25,040 --> 00:10:31,050 oswa enkonplè eta, epi mwen lè l sèvi avèk yon lòt etalaj ki reprezante sa. 162 00:10:31,050 --> 00:10:33,730 >> Fondamantalman pou chak todo nan ki etalaj TODOS 163 00:10:33,730 --> 00:10:37,110 gen nan yon atik nan etalaj la nèt sou tout pwen ki fondamantalman endike 164 00:10:37,110 --> 00:10:39,060 si se sa ki konplè oswa ou pa. 165 00:10:39,060 --> 00:10:41,640 Mwen te gen fè chanjman trè minim sa a Kòd, 166 00:10:41,640 --> 00:10:44,470 Se konsa, isit la nan fonksyon addTodo nou an. 167 00:10:44,470 --> 00:10:48,530 Remake isit la mwen pouse li sou etalaj la, 168 00:10:48,530 --> 00:10:51,300 ak Lè sa a mwen pouse yon 0 a ki etalaj konplè, 169 00:10:51,300 --> 00:10:57,090 fondamantalman nan paralèl avèk ki pouse nouvo todo yo di 170 00:10:57,090 --> 00:11:00,430 Mwen ajoute sa a atik, ak li a makonnen ak sa a valè, 171 00:11:00,430 --> 00:11:02,810 ki vle di ke li nan enkonplè. 172 00:11:02,810 --> 00:11:04,970 Lè sa a, mwen redrawing lis la a-fè. 173 00:11:04,970 --> 00:11:09,220 Koulye a, remake mwen te ajoute fonksyon sa a drawTodoList. 174 00:11:09,220 --> 00:11:11,760 Sa a pran yon anpil nan kòd la nou te gen anvan, 175 00:11:11,760 --> 00:11:15,320 fondamantalman efase soti ti kare a epi Lè sa a, trase nouvo nan-fè lis. 176 00:11:15,320 --> 00:11:19,620 Men, remake ke andedan nan sa a pou bouk n ap fè yon ti kras plis kounye a. 177 00:11:19,620 --> 00:11:25,000 Nou ap fondamantalman tcheke si atik la ki koresponn a todo a on isit la 178 00:11:25,000 --> 00:11:30,220 se konplè, epi nou ap konpòte yon fason diferan nan 2 sikonstans sa yo. 179 00:11:30,220 --> 00:11:32,790 Si li la konplè, n ap ajoute sa a tag del, 180 00:11:32,790 --> 00:11:35,360 ki se fondamantalman wout la ou ka jwenn ki grèv nan efè 181 00:11:35,360 --> 00:11:38,190 travèse soti lis la a-fè si li nan konplè, 182 00:11:38,190 --> 00:11:42,200 epi si li pa la, nou pa ap gen ladan li. 183 00:11:42,200 --> 00:11:45,030 Se konsa, ki kalite pran swen de sa, 184 00:11:45,030 --> 00:11:49,140 >> e ke sa a yon fason akonpli sa a. 185 00:11:49,140 --> 00:11:53,420 Lè sa a, remake lè itilizatè a klik youn nan sa yo 186 00:11:53,420 --> 00:11:56,780 nou aktive estati fini nan li. 187 00:11:56,780 --> 00:12:02,170 Lè klik yo itilizatè, nou pral ranvèse si wi ou non li nan yo te ranpli oswa ou pa, 188 00:12:02,170 --> 00:12:04,540 ak Lè sa a nou pral rdesine li. 189 00:12:04,540 --> 00:12:06,190 Sa a jan de travay. 190 00:12:06,190 --> 00:12:09,860 Nou gen fonksyon sa yo ki pote soti nan travay pwòp yo, 191 00:12:09,860 --> 00:12:11,730 ak sa a se oke. 192 00:12:11,730 --> 00:12:14,110 Eske gen yon bagay nou te ka fè pi byen sou sa a, menm si? 193 00:12:14,110 --> 00:12:18,700 Avi nou gen sa yo 2 ranje mondyal la. 194 00:12:18,700 --> 00:12:23,550 Si sa a te C, epi nou te gen 2 ranje ki kalite reprezante 195 00:12:23,550 --> 00:12:25,800 done ki te sòt de ki gen rapò nan kèk fason 196 00:12:25,800 --> 00:12:30,140 sa ki ta nou itilize nan C rive nan konbine sa yo jaden 2 197 00:12:30,140 --> 00:12:35,420 nan yon bagay ki encapsule tou de moso nan enfòmasyon? 198 00:12:35,420 --> 00:12:37,600 Okenn moun vle fè yon sijesyon? 199 00:12:37,600 --> 00:12:39,450 [Elèv fèbl repons] 200 00:12:39,450 --> 00:12:42,340 >> Egzakteman, se konsa nou ta ka itilize kèk kalite struct, 201 00:12:42,340 --> 00:12:44,960 ak si ou panse tounen nan, di, pset 3, 202 00:12:44,960 --> 00:12:47,350 sonje nou te gen diksyonè, ak Lè sa a nou te gen si wi ou non pawòl Bondye a 203 00:12:47,350 --> 00:12:50,230 te nan diksyonè a, epi yo te tout sa ki enfòmasyon mete tèt yo ansanm 204 00:12:50,230 --> 00:12:52,420 andedan nan kèk estrikti done. 205 00:12:52,420 --> 00:12:56,390 Yon sèl bagay mwen kapab fè avèk sa a Kòd pou fè pou evite gen sa yo 2 ranje diferan 206 00:12:56,390 --> 00:13:01,760 pou moso menm jan an nan enfòmasyon se mwen ka konbine yo nan yon objè ki JavaScript. 207 00:13:01,760 --> 00:13:07,150 Ann pran yon gade nan sa. 208 00:13:07,150 --> 00:13:11,740 Avi mwen sèlman gen yon sèl etalaj nan tèt la kounye a 209 00:13:11,740 --> 00:13:17,650 ak sa mwen te fè se-yo ak sa a se jis sentaks la JavaScript pou sòt de 210 00:13:17,650 --> 00:13:21,350 kreye yon vèsyon literal yon objè, 211 00:13:21,350 --> 00:13:24,670 ak remake gen 2 pwopriyete, konsa nou gen todo a, 212 00:13:24,670 --> 00:13:29,660 ak li a te kenbe ansanm ak si li nan konplè oswa enkonplè. 213 00:13:29,660 --> 00:13:31,000 Sa a se Kòd trè sanblab. 214 00:13:31,000 --> 00:13:35,310 Nou ap lè l sèvi avèk objè yo JavaScript. 215 00:13:35,310 --> 00:13:38,600 Sa a jan de bagay sa yo amelyore. 216 00:13:38,600 --> 00:13:43,850 Tankou, koulye a, tout bagay sa yo jaden nan enfòmasyon ki gen rapò ak yo kenbe yo ansanm. 217 00:13:43,850 --> 00:13:46,410 Lè nou ale nan enprime li, nou ka gen aksè nan jaden yo. 218 00:13:46,410 --> 00:13:49,060 >> Avi sou jan n ap fè TODOS [mwen]. Konplè 219 00:13:49,060 --> 00:13:52,880 olye pou yo tcheke etalaj la nèt sou tout pwen apa, 220 00:13:52,880 --> 00:13:56,560 ak avi lè nou vle jwenn fisèl la a-fè nou ap vin pwopriyete a a-fè 221 00:13:56,560 --> 00:13:58,750 nan ki todo, se konsa sa a kalite fè sans paske 222 00:13:58,750 --> 00:14:01,660 chak atik gen sa yo pwopriyete intrinsèques sou li. 223 00:14:01,660 --> 00:14:05,650 Li te gen yon todo, epi li gen si li la nèt sou tout pwen oswa ou pa. 224 00:14:05,650 --> 00:14:11,540 Pa twò anpil chanjman gen fonksyonèl, jis te ajoute kèk plis kòd la. 225 00:14:11,540 --> 00:14:13,430 Sa a se yon amelyorasyon sou kèk fwon, dwa? 226 00:14:13,430 --> 00:14:16,030 Mwen vle di, nou faktè soti desen an yon ti jan. 227 00:14:16,030 --> 00:14:20,350 Koulye a, nou gen objè ki ale avèk fondamantalman ankapsulasyon done sa yo. 228 00:14:20,350 --> 00:14:27,130 Eske gen yon bagay plis nou te kapab fè soti isit la an tèm de JavaScript? 229 00:14:27,130 --> 00:14:31,810 Tankou avi ke sa a Kòd dwa isit la 230 00:14:31,810 --> 00:14:34,760 pou jwenn HTML anndan an nan yon div 231 00:14:34,760 --> 00:14:40,520 se yon ti kras, mwen devine, depi lontan. 232 00:14:40,520 --> 00:14:45,100 Genyen document.getElementByID ("TODOS"). InnerHTML. 233 00:14:45,100 --> 00:14:48,400 Youn nan bagay nou te kapab fè fè sa-a Kòd gade yon ti kras favorable 234 00:14:48,400 --> 00:14:51,450 Se konsa, mwen pa ta gen kenbe defile kite la ak dwa, retounen ak lide, 235 00:14:51,450 --> 00:14:58,480 se mwen te kapab sèvi ak yon bibliyotèk tankou jQuery. 236 00:14:58,480 --> 00:15:02,710 >> Se pou yo tcheke deyò Seminè 2, 237 00:15:02,710 --> 00:15:05,880 ak sa a se kòd la menm, men li la fè ak jQuery. 238 00:15:05,880 --> 00:15:08,790 Ou gen dwa pa twò abitye ak jQuery, 239 00:15:08,790 --> 00:15:11,510 men jis konnen ke jQuery se sòt de yon bibliyotèk pou JavaScript 240 00:15:11,510 --> 00:15:15,910 ki fè li pi fasil fè bagay sa yo tankou eleman endividyèl aksè nan Dom la. 241 00:15:15,910 --> 00:15:21,280 Isit la olye pou yo di document.getElementByID ("TODOS"). InnerHTML 242 00:15:21,280 --> 00:15:25,210 Mwen kapab itilize wout la cleaner anpil nan jQuery, 243 00:15:25,210 --> 00:15:28,490 ki se jis yo sèvi ak seleksyon. 244 00:15:28,490 --> 00:15:31,300 Kòm ou ka wè, sa a Kòd t 'jwenn yon ajan netwayaj ti kras, 245 00:15:31,300 --> 00:15:35,770 sanble anpil fonksyonèl, men sa a lide la. 246 00:15:35,770 --> 00:15:37,980 Nou te wè yon koup de bagay sa yo twò lwen, 247 00:15:37,980 --> 00:15:42,010 se konsa nou te kòmanse avèk aplikasyon jis anvan tout koreksyon JavaScript. 248 00:15:42,010 --> 00:15:45,370 Nou te ajoute karakteristik nouvo ak te montre kijan nou ka amelyore l 'ak 249 00:15:45,370 --> 00:15:49,090 jis sa nou genyen nan JavaScript. 250 00:15:49,090 --> 00:15:53,300 >> okenn moun wè nenpòt difikilte ak sa a konsepsyon? 251 00:15:53,300 --> 00:16:01,090 Savwa, mwen devine-oswa pa nesesèman difikilte men kite a di 252 00:16:01,090 --> 00:16:04,830 nou pa t ap fè yon pwojè lis a-fè, ak demen nou deside 253 00:16:04,830 --> 00:16:10,320 nou te vle fè yon lis makèt oswa yon pwojè lis komèsyal yo. 254 00:16:10,320 --> 00:16:14,150 Yon anpil nan karakteristik sa yo yo trè menm jan an. 255 00:16:14,150 --> 00:16:19,080 Yon anpil nan bagay sa yo nou vle jwenn soti nan JavaScript yo trè komen, 256 00:16:19,080 --> 00:16:23,820 ak sa a demontre yon bezwen pou kèk kalite fason pou 257 00:16:23,820 --> 00:16:25,670 fè sa a pi fasil fè. 258 00:16:25,670 --> 00:16:30,400 Mwen te gen bati tout bagay sa yo aksè HTML, tout sa a aksè Dom, 259 00:16:30,400 --> 00:16:35,530 tankou mwen pral reprezante lis la a-fè ak modèl sa a. 260 00:16:35,530 --> 00:16:39,130 Ak Avi mwen se responsab kòm pwomotè a JavaScript 261 00:16:39,130 --> 00:16:42,890 pou kenbe HTML a ak JavaScript ke mwen gen nan senk. 262 00:16:42,890 --> 00:16:48,040 Pa gen anyen otomatikman te fè ki JavaScript reprezantasyon 263 00:16:48,040 --> 00:16:51,590 oswa jwenn lis la a-fè pouse soti nan HTML. 264 00:16:51,590 --> 00:16:54,000 Pa gen anyen fè respekte restriksyon ki eksepte pou m '. 265 00:16:54,000 --> 00:16:56,880 Mwen te gen yo ekri trase a a-fè fonksyon lis la. 266 00:16:56,880 --> 00:17:01,650 Epi ki gen dwa pa-Mwen vle di, li nan rezonab fè sa, 267 00:17:01,650 --> 00:17:03,670 men li ka fatigan pafwa. 268 00:17:03,670 --> 00:17:08,190 Si ou gen yon pwojè ki pi gwo, ki ta ka difisil. 269 00:17:08,190 --> 00:17:10,720 >> Frameworks, youn nan rezon ki nan estrikti 270 00:17:10,720 --> 00:17:14,060 se senplifye pwosesis sa a ak sòt de faktè soti 271 00:17:14,060 --> 00:17:16,950 sa yo komen-Mwen devine ou te kapab di-konsepsyon modèl 272 00:17:16,950 --> 00:17:20,700 ke gen moun ki jeneralman gen kèk kalite fason pou reprezante done, 273 00:17:20,700 --> 00:17:25,599 si wi ou non sa a, se yon lis zanmi, si wi ou non sa a, se enfòmasyon kat jeyografik 274 00:17:25,599 --> 00:17:27,280 oswa yon bagay oswa yon lis a-fè. 275 00:17:27,280 --> 00:17:30,660 Gen kèk moun ki gen jeneralman yon fason pou reprezante enfòmasyon, 276 00:17:30,660 --> 00:17:33,650 epi yo jeneralman bezwen kenbe ki sòt enfòmasyon nan nan senk 277 00:17:33,650 --> 00:17:36,520 ant sa itilizatè a wè nan kèk kalite de vi, 278 00:17:36,520 --> 00:17:39,850 pale an tèm de tankou kontwolè a wè modèl ke ou te wè nan konferans, 279 00:17:39,850 --> 00:17:45,400 ak Lè sa a modèl la, ki nan ka sa a se sa a etalaj JavaScript. 280 00:17:45,400 --> 00:17:49,020 Frameworks ban nou yon fason yo rezoud pwoblèm sa. 281 00:17:49,020 --> 00:17:53,080 Koulye a, kite a pran yon gade nan aplikasyon an nan sa a-fè lis 282 00:17:53,080 --> 00:18:02,360 nan yon fondasyon ki rele angularjs. 283 00:18:02,360 --> 00:18:04,650 Sa a se li. Avi li chita sou yon glise. 284 00:18:04,650 --> 00:18:07,330 Mwen pa gen a woulo liv sou bò goch la ak dwa. 285 00:18:07,330 --> 00:18:10,460 Sa pwobableman se pa yon rezon ki fè gwo rekòmande lè l sèvi avèk yon fondasyon, 286 00:18:10,460 --> 00:18:20,120 men avi 'yo, mwen tout tan tout tan aksè nan moun eleman HTML isit la? 287 00:18:20,120 --> 00:18:22,400 Èske mwen janm ale nan Dom a? 288 00:18:22,400 --> 00:18:26,120 ou wè nenpòt ki document.getElementByID oswa yon bagay tankou sa? 289 00:18:26,120 --> 00:18:29,870 Non, sa se ale. 290 00:18:29,870 --> 00:18:35,590 >> Angilè ede nou kenbe Dom la ak reprezantasyon JavaScript nou an nan yon bagay 291 00:18:35,590 --> 00:18:40,430 kalite nan senk, se konsa si li pa nan dosye a js, 292 00:18:40,430 --> 00:18:46,790 si gen nan pa gen fason pou pwogramasyon ap resevwa nan tout kontni ki HTML 293 00:18:46,790 --> 00:18:51,800 soti nan JavaScript a ki jan yo se nou kenbe sa a nan senk? 294 00:18:51,800 --> 00:18:58,160 Si li pa nan. Dosye a js, li te resevwa yo dwe nan HTML, dwa? 295 00:18:58,160 --> 00:19:01,910 Sa a se vèsyon an nouvo nan dosye a HTML, 296 00:19:01,910 --> 00:19:04,660 ak remake nou te ajoute yon anpil isit la. 297 00:19:04,660 --> 00:19:11,110 Avi gen nan sa yo atribi nouvo ki di ng-klike sou ak ng repete. 298 00:19:11,110 --> 00:19:15,650 Apwòch angilè a nan rezoud pwoblèm sa a nan difikilte nan konsepsyon 299 00:19:15,650 --> 00:19:19,130 se fondamantalman fè HTML anpil plis pouvwa anpil. 300 00:19:19,130 --> 00:19:24,420 Angilè se yon fason pou pèmèt ou fè HTML yon ti jan pi plis espresif. 301 00:19:24,420 --> 00:19:30,520 Pou egzanp, mwen kapab di ke mwen pral mare oswa mare sa a bwat tèks 302 00:19:30,520 --> 00:19:35,080 nan yon varyab ki nan Kòd angilè mwen JavaScript. 303 00:19:35,080 --> 00:19:37,030 Sa a ng-modèl fè sèlman sa. 304 00:19:37,030 --> 00:19:41,550 Sa fondamantalman di ke atik la andedan nan bwat sa tèks, 305 00:19:41,550 --> 00:19:45,000 jis asosye ke ak new_todo_description a varyab 306 00:19:45,000 --> 00:19:47,870 nan kòd la JavaScript. 307 00:19:47,870 --> 00:19:51,600 Sa a gen anpil pouvwa, paske mwen pa gen klèman ale nan 308 00:19:51,600 --> 00:19:53,310 Dom a jwenn enfòmasyon sa a. 309 00:19:53,310 --> 00:19:56,250 Mwen pa oblije di document.getElementByID. 310 00:19:56,250 --> 00:19:58,750 Mwen pa gen yo sèvi ak jQueries tankou aksè Dom. 311 00:19:58,750 --> 00:20:03,280 Mwen ka asosye li ak yon varyab, ak Lè sa a, lè mwen chanje varyab sa a 312 00:20:03,280 --> 00:20:07,400 nan JavaScript li nan kenbe nan senkronizasyon ak HTML a, 313 00:20:07,400 --> 00:20:11,640 se konsa ke senplifye pwosesis la nan gen yo ale retounen ak lide ant de la. 314 00:20:11,640 --> 00:20:18,260 ki fè sans? 315 00:20:18,260 --> 00:20:22,060 >> Ak Avi gen nan pa gen kòd aksè HTML. 316 00:20:22,060 --> 00:20:27,760 Nou te jis te fè HTML plis pouvwa anpil, 317 00:20:27,760 --> 00:20:32,070 e kounye a,, pou egzanp, nou ka fè bagay sa yo tankou sa a, 318 00:20:32,070 --> 00:20:38,610 renmen lè ou klike sou sa a, rele fonksyon sa a nan sijè ki abòde lan nan todos.js, 319 00:20:38,610 --> 00:20:43,410 e nou ka fè sa anvan, men gen lòt bagay, tankou sa a ng modèl, 320 00:20:43,410 --> 00:20:47,020 ak Avi sa a ng-repete. 321 00:20:47,020 --> 00:20:51,520 Ki sa ou panse sa a fè? 322 00:20:51,520 --> 00:20:54,390 Isit la nan lis unordered nou yo soti nan anvan an. 323 00:20:54,390 --> 00:20:56,470 Nou gen etikèt yo UL, 324 00:20:56,470 --> 00:21:03,710 men mwen tout tan tout tan rann ke lis andedan nan kòd la JavaScript? 325 00:21:03,710 --> 00:21:09,280 Mwen pa janm klèman rann ke lis. 326 00:21:09,280 --> 00:21:11,580 Kijan travay sa a? 327 00:21:11,580 --> 00:21:16,410 Oke, angilè nan fason akonpli sa a se sa rele yon repetition. 328 00:21:16,410 --> 00:21:22,760 Fondamantalman sa a di ke mwen vle ekri ak lèt ​​detache sa a HTML 329 00:21:22,760 --> 00:21:26,240 pou chak andedan todo nan etalaj TODOS mwen. 330 00:21:26,240 --> 00:21:31,850 Anndan nan todos.jr gen yon etalaj TODOS dwa isit la, 331 00:21:31,850 --> 00:21:37,910 ak sa a ap di angilè ale nan ki etalaj, epi pou chak eleman ou wè 332 00:21:37,910 --> 00:21:41,390 Mwen vle pou ou ekri ak lèt ​​detache sa a HTML. 333 00:21:41,390 --> 00:21:44,620 Sa a se kalite pè, paske mwen jis ka fè sa 334 00:21:44,620 --> 00:21:47,760 san yo pa gen ekri yon pou bouk, 335 00:21:47,760 --> 00:21:52,250 ki pou yon lis a-fè ki te sèlman 30 liy nan Kòd 336 00:21:52,250 --> 00:21:54,700 gen dwa pa bagay ki pi benefisye yo, 337 00:21:54,700 --> 00:22:01,240 men si ou gen yon pwojè gwo, sa a te kapab jwenn trè pratik. 338 00:22:01,240 --> 00:22:06,100 >> Sa a se youn solisyon a pwoblèm sa a yo, ki fè HTML plis pouvwa anpil, 339 00:22:06,100 --> 00:22:10,820 ak ki pèmèt nou kenbe JavaScript ak HTML nan senk. 340 00:22:10,820 --> 00:22:13,220 Gen lòt fason posib yo rezoud pwoblèm sa a, 341 00:22:13,220 --> 00:22:15,320 epi se pa tout kad sa sa. 342 00:22:15,320 --> 00:22:17,720 Se pa tout kad travay ansanm liy sa yo. 343 00:22:17,720 --> 00:22:19,490 Gen kèk estrikti gen apwòch diferan, 344 00:22:19,490 --> 00:22:23,310 epi ou ka jwenn ke ou renmen kodaj nan yon sèl fondasyon sou lòt la. 345 00:22:23,310 --> 00:22:26,160 Se pou yo gade nan yon sèl plis. 346 00:22:26,160 --> 00:22:30,060 Sa a se lis la a-fè kode moute nan yon fondasyon ki rele kolòn vètebral. 347 00:22:30,060 --> 00:22:33,250 Mwen pral yo ale nan sa a byen vit. 348 00:22:33,250 --> 00:22:38,300 Mwen pral kòmanse ak HTML a anvan nou ale la. 349 00:22:38,300 --> 00:22:40,290 Yon dezyèm fwa. 350 00:22:40,290 --> 00:22:43,950 Kòmanse avèk HTML a, kòm ou remake, HTML nou an, se sanble anpil 351 00:22:43,950 --> 00:22:50,000 nan sa li te ye anvan, se konsa pa twòp nouvo sou ki devan. 352 00:22:50,000 --> 00:22:55,410 Men, dosye js nou an, se yon ti kras diferan. 353 00:22:55,410 --> 00:23:00,360 Kalite zo rèl do nan gen ide sa a, oswa baze sou lide nan 354 00:23:00,360 --> 00:23:04,750 ki yon anpil nan sa nou fè ak, di, pwojè JavaScript nou 355 00:23:04,750 --> 00:23:09,110 se reflechi sou modèl ak koleksyon nan modèl sa yo. 356 00:23:09,110 --> 00:23:12,510 Sa a te kapab, pou egzanp, yon foto ak koleksyon nan foto, 357 00:23:12,510 --> 00:23:16,230 oswa lide a nan yon zanmi ak koleksyon nan zanmi yo. 358 00:23:16,230 --> 00:23:20,700 Men, souvan lè nou ap pwogramasyon aplikasyon JavaScript 359 00:23:20,700 --> 00:23:25,340 nou pral sòt de reprezante lide a ki gen yon koleksyon zanmi 360 00:23:25,340 --> 00:23:29,500 yon jan kanmenm nan JavaScript, ak yesclips ban nou sa a kouch 361 00:23:29,500 --> 00:23:33,040 sou tèt ki deja egziste ranje JavaScript a ak objè 362 00:23:33,040 --> 00:23:38,300 fè bagay sa yo plis pouvwa anpil ak sa yo ki pi fasil. 363 00:23:38,300 --> 00:23:41,870 >> Isit la mwen te defini yon modèl a-fè sa, 364 00:23:41,870 --> 00:23:44,630 ak ou pa bezwen enkyete twòp sou sentaks la, 365 00:23:44,630 --> 00:23:48,730 men remake ke sa ki nan youn nan pwopriyete yo nan sa a? 366 00:23:48,730 --> 00:23:53,190 Li te gen yon jaden default. 367 00:23:53,190 --> 00:23:56,640 Zo rèl do pèmèt m 'nan presize deja koupe baton an 368 00:23:56,640 --> 00:24:00,190 nenpòt ki nouvo nan-fè pou m kreye ki pral gen sa yo défaut. 369 00:24:00,190 --> 00:24:04,100 Koulye a, mwen ka Customize sa a, men ke yo te kapab presize défaut yo 370 00:24:04,100 --> 00:24:07,220 se bèl, epi li kalite bon paske sa a se pa yon bagay ki tankou 371 00:24:07,220 --> 00:24:10,430 nannan nan JavaScript, epi kounye a Mwen pa gen klèman 372 00:24:10,430 --> 00:24:12,430 di ke TODOS yo se enkonplè. 373 00:24:12,430 --> 00:24:19,190 Mwen kapab di dwa koupe baton an ki TODOS yo pral make kòm konplè. 374 00:24:19,190 --> 00:24:21,300 Avi Lè sa a, ki sa ki sa a? 375 00:24:21,300 --> 00:24:25,520 Koulye a, mwen gen yon lis a-fè sa, e ke sa a yon koleksyon. 376 00:24:25,520 --> 00:24:30,960 Avi jaden an asosye ak ki di modèl todo. 377 00:24:30,960 --> 00:24:33,390 Sa a se fason mwen an di yesclips ki 378 00:24:33,390 --> 00:24:37,350 Mwen pral dwe panse osijè yon koleksyon nan sa yo TODOS endividyèl elèv yo. 379 00:24:37,350 --> 00:24:42,140 Sa a se fondamantalman estrikti nan modèl pou pwogram m 'yo. 380 00:24:42,140 --> 00:24:44,980 Men mwen gen ide sa a nan yon koleksyon, 381 00:24:44,980 --> 00:24:48,960 ak fondamantalman atik yo genyen nan yo nan ki koleksyon, yo tout pral fè sa yo TODOS, 382 00:24:48,960 --> 00:24:51,910 e ke se yon bagay ki natirèl nan sans sa a 383 00:24:51,910 --> 00:24:59,890 paske mwen fè gen TODOS, mwen gen yo nan yon koleksyon. 384 00:24:59,890 --> 00:25:02,940 >> Se pou yo gade nan yon ti kras pi plis nan sa a. 385 00:25:02,940 --> 00:25:05,900 Isit la se yon View kolòn vètebral. 386 00:25:05,900 --> 00:25:08,890 Bagay la lòt ke yesclips di se ke 387 00:25:08,890 --> 00:25:14,660 yon anpil nan modèl yo ke w ap panse sou oswa menm koleksyon 388 00:25:14,660 --> 00:25:19,150 yo ale nan bezwen gen kèk fason pou yo te parèt. 389 00:25:19,150 --> 00:25:21,900 Nou bezwen rann ke a-fè lis, 390 00:25:21,900 --> 00:25:25,460 epi li pa ta li dwe nice si nou te ka bay pou chak modèl 391 00:25:25,460 --> 00:25:28,390 oswa asosye avèk chak modèl sa a wè 392 00:25:28,390 --> 00:25:34,020 ki pèmèt nou Mwen devine konekte de la ansanm? 393 00:25:34,020 --> 00:25:38,320 Lè nou konsidere ke anvan nou te sèvi ak yon pou bouk ki ta kouri nan 394 00:25:38,320 --> 00:25:41,130 chak todo nan lis nou an ak Lè sa a enprime li isit la 395 00:25:41,130 --> 00:25:44,650 nou ka fondamantalman konekte li ak sa a modèl. 396 00:25:44,650 --> 00:25:47,550 Sa a se yon View-fè. 397 00:25:47,550 --> 00:25:50,550 Sa a se ki asosye ak todo la nou jwenn pi bonè. 398 00:25:50,550 --> 00:25:54,940 Koulye a, se chak todo afichabl oswa renderable 399 00:25:54,940 --> 00:25:56,960 sa a a-fè vi. 400 00:25:56,960 --> 00:25:59,440 Avi kèk nan jaden yo. 401 00:25:59,440 --> 00:26:05,880 Ki sa ou panse sa a tagName se, tagName: Li? 402 00:26:05,880 --> 00:26:09,790 Sonje soti nan anvan lè nou te vle pran yon todo 403 00:26:09,790 --> 00:26:16,700 nou ta gen klèman pè TODOS nou yo ak sa a tag Li. 404 00:26:16,700 --> 00:26:21,080 Koulye a, nou ap di ke kote sa a todo ki pral viv 405 00:26:21,080 --> 00:26:25,250 a pwal andedan nan yon tag Li. 406 00:26:25,250 --> 00:26:31,440 Epi, koulye a nou ap tou asosye evènman ak TODOS nou an. 407 00:26:31,440 --> 00:26:34,320 >> Chak todo gen evenman sa a yon sèl. 408 00:26:34,320 --> 00:26:38,480 Si ou klike sou bèl anpil bouton an activer, ki nan sa m ap di a, 409 00:26:38,480 --> 00:26:43,080 Lè sa a, fondamantalman make todo an kòm opoze a nan sa li te ye anvan 410 00:26:43,080 --> 00:26:45,890 ak Lè sa a re-rann aplikasyon an. 411 00:26:45,890 --> 00:26:47,810 Sa a se kalite ki sanble ak kòd la anvan. 412 00:26:47,810 --> 00:26:50,730 Sonje lè nou te make li kòm swa opoze a oswa- 413 00:26:50,730 --> 00:26:52,410 ak Lè sa a nou re-rann li. 414 00:26:52,410 --> 00:26:57,750 Men, remake kounye a evenman sa a itilize yo dwe yon bagay ki te nan HTML a. 415 00:26:57,750 --> 00:26:59,640 Li te chita la. 416 00:26:59,640 --> 00:27:01,410 Bouton a te gen yon klike sou. 417 00:27:01,410 --> 00:27:05,310 Lè ou klike sou bouton an, li kalite fè bagay la 418 00:27:05,310 --> 00:27:07,210 mete kanpe ki todo yo dwe enkonplè. 419 00:27:07,210 --> 00:27:11,180 Isit la nou te asosye ke evènman nan klike ke bouton activer 420 00:27:11,180 --> 00:27:15,830 ak ranvèse si li la sou oswa koupe ak sa a vi. 421 00:27:15,830 --> 00:27:20,480 >> Sa a se yon fason bèl nan mete kanpe evènman sa a se konsa ke li trè byen sere mare 422 00:27:20,480 --> 00:27:26,980 sa a vi, e konsa remake yon sèl sa a plis ankò. 423 00:27:26,980 --> 00:27:31,050 Mwen gen metòd sa a rann yo, epi nou pa gen yo ale nan detay yo. 424 00:27:31,050 --> 00:27:33,650 Li nan kalite ki sanble ak sa nou te genyen anvan an, 425 00:27:33,650 --> 00:27:36,070 men remake mwen pa loupin nan anyen. 426 00:27:36,070 --> 00:27:40,700 Mwen pa enprime ke tag UL ki nan sòt de li di mwen pral enprime tout nan eleman yo. 427 00:27:40,700 --> 00:27:46,610 Mwen bay fonctionnalités a pou rann sa a youn nan-fè atik. 428 00:27:46,610 --> 00:27:49,400 Sa a se yon konsèp trè pwisan paske fondamantalman 429 00:27:49,400 --> 00:27:53,600 lis a-fè nou konsiste de tout TODOS sa yo, epi si nou ka fondamantalman presize 430 00:27:53,600 --> 00:27:56,890 wout la nan bay youn nan sa yo TODOS 431 00:27:56,890 --> 00:28:04,230 Lè sa a, nou kapab gen zo rèl do pwisan nou an se pou chak rann tout TODOS yo 432 00:28:04,230 --> 00:28:07,760 lè w rele metòd la rann sou TODOS endividyèl yo. 433 00:28:07,760 --> 00:28:14,180 Sa a se yon konsèp ki se itil isit la. 434 00:28:14,180 --> 00:28:18,160 Koulye a, yon bon kesyon mande ki jan pou se ke yo te aplikasyon sa a mete tèt yo ansanm? 435 00:28:18,160 --> 00:28:21,200 Paske nou gen kapasite nan bay youn todo, 436 00:28:21,200 --> 00:28:23,860 men ki jan nou jwenn lide a nan TODOS miltip? 437 00:28:23,860 --> 00:28:25,100 >> Ann pran yon gade nan sa. 438 00:28:25,100 --> 00:28:27,100 Sa a se pati an dènye. 439 00:28:27,100 --> 00:28:29,740 Avi nou gen yon View lis a-fè isit la, 440 00:28:29,740 --> 00:28:34,440 ak remake li la tou yon vi. 441 00:28:34,440 --> 00:28:36,970 Men, ale sou yon koup nan bagay sa yo, 442 00:28:36,970 --> 00:28:45,280 ap metòd sa a inisyalize dwe rele lè nou premye kreye lis sa a a-fè. 443 00:28:45,280 --> 00:28:52,630 Kòm ou ka wè, li la tankou kreye lis la a-fè ak asosye li ak sa a vi. 444 00:28:52,630 --> 00:28:57,860 Lè sa a, mwen te ajoute fonksyon yo isit la se konsa fondamantalman lè ou ajoute yon atik- 445 00:28:57,860 --> 00:29:01,440 sa a se menm jan ak metòd la addItem nou te wè anvan- 446 00:29:01,440 --> 00:29:07,430 Mwen pral kreye yon nouvo todo objè, ak avi mwen aktyèlman rele 447 00:29:07,430 --> 00:29:13,080 sa a nouvo todo metòd, se konsa sa a se bay pa yesclips, 448 00:29:13,080 --> 00:29:16,010 ak mwen ka pase nan pwopriyete m 'isit la. 449 00:29:16,010 --> 00:29:23,710 Epi, koulye a chak todo ke mwen kreye lè l sèvi avèk sa a pral jwenn ki fonctionnalités ke nou te wè anvan. 450 00:29:23,710 --> 00:29:28,140 Avi mwen netwaye soti ti bwat la tèks anvan yon ti ti kras detay- 451 00:29:28,140 --> 00:29:32,900 ak Lè sa a mwen ajoute koleksyon sa a. 452 00:29:32,900 --> 00:29:37,630 >> Sa a prèske sanble etranj paske anvan nou jis te fè ki todos.push, 453 00:29:37,630 --> 00:29:43,310 ak Lè sa a nou te fè, ak sa a ka sanble pi konplike pou pwojè sa a an patikilye, 454 00:29:43,310 --> 00:29:46,980 epi ou ka jwenn ke yesclips oswa menm angilè oswa nenpòt kad lòt 455 00:29:46,980 --> 00:29:50,790 pa kostim pwojè patikilye ou, men mwen panse li enpòtan yo reflechi sou 456 00:29:50,790 --> 00:29:54,100 ki sa sa a vle di sou yon echèl pi gwo pou pi gwo pwojè, 457 00:29:54,100 --> 00:29:56,610 paske si nou te gen yon pwojè ki pi gwo kote nou te reprezante 458 00:29:56,610 --> 00:30:00,860 kèk koleksyon reyèlman konplèks, yon bagay pi fon pase jis lis yon a-fè sa, 459 00:30:00,860 --> 00:30:04,490 kite a di yon lis zanmi oswa yon bagay tankou sa, sa a te kapab vini an sou la men 460 00:30:04,490 --> 00:30:09,620 paske nou te ka òganize Kòd nou an nan yon fason vrèman pratik, 461 00:30:09,620 --> 00:30:12,550 nan yon fason ki ta fè li pi fasil pou yon lòt moun 462 00:30:12,550 --> 00:30:16,820 ki te vle ranmase yon pwojè yo bati sou li. 463 00:30:16,820 --> 00:30:21,450 Ou ka wè ke sa a bay yon anpil nan estrikti. 464 00:30:21,450 --> 00:30:26,580 Lè sa a, m ap rele rann sa a sou addItem. 465 00:30:26,580 --> 00:30:31,050 Rann, jan ou ka wè, epi ou pa bezwen sezi sa a sentaks plen, 466 00:30:31,050 --> 00:30:37,790 men fondamantalman pou chak modèl li pral yo rele metòd la rann endividyèl elèv yo. 467 00:30:37,790 --> 00:30:41,500 Sa a sòt de kote sa a soti nan. 468 00:30:41,500 --> 00:30:44,140 Se pou yo jis presize ki jan yo rann TODOS endividyèl yo, 469 00:30:44,140 --> 00:30:47,310 ak Lè sa a kite a kole yo ansanm kòm yon antye. 470 00:30:47,310 --> 00:30:49,810 Men, sa a bay yon fason pou distraksyon, 471 00:30:49,810 --> 00:30:55,470 paske mwen te kapab chanje fason mwen deside rann TODOS endividyèl yo, 472 00:30:55,470 --> 00:30:57,940 epi mwen pa ta gen nenpòt ki chanjman nan Kòd sa a. 473 00:30:57,940 --> 00:31:00,700 Sa a kalite fre. 474 00:31:00,700 --> 00:31:08,540 >> okenn moun gen nenpòt kesyon sou JavaScript cadres? 475 00:31:08,540 --> 00:31:14,310 [Elèv fèbl kesyon] 476 00:31:14,310 --> 00:31:16,050 Oh, asire w ke, ki nan yon kesyon gwo. 477 00:31:16,050 --> 00:31:19,080 Kesyon an te kouman mwen te gen ladan yo cadres yo? 478 00:31:19,080 --> 00:31:22,970 Pifò cadres JavaScript yo fondamantalman jis dosye js 479 00:31:22,970 --> 00:31:25,740 ke ou ka gen ladan yo nan tèt yo nan Kòd ou. 480 00:31:25,740 --> 00:31:29,830 Avi nan pòsyon tèt nan HTML m 'mwen gen tout sa yo Tags script, 481 00:31:29,830 --> 00:31:34,250 ak tag a script final se kòd la ke nou te ekri. 482 00:31:34,250 --> 00:31:38,820 Lè sa a, kòd yo kad 3 yo se jis tou Tags script. 483 00:31:38,820 --> 00:31:42,110 Mwen ki gen ladan yo soti nan sa ki rele yon CDN, 484 00:31:42,110 --> 00:31:46,200 ki pèmèt m 'nan jwenn li nan yon lòt moun nan pwen sa a 485 00:31:46,200 --> 00:31:57,930 men chak kad gen sa a-ou ka bèl anpil jwenn kontni an 486 00:31:57,930 --> 00:32:03,540 pou yon patikilye bibliyotèk JavaScript ki disponib sou kèk CDN oswa yon bagay tankou sa, 487 00:32:03,540 --> 00:32:05,570 ak Lè sa a ou ka gen ladan yo sa yo Tags script. 488 00:32:05,570 --> 00:32:07,600 ki fè sans? 489 00:32:07,600 --> 00:32:09,500 Fre. 490 00:32:09,500 --> 00:32:11,730 >> Sa yo se 2 apwòch diferan. 491 00:32:11,730 --> 00:32:14,640 Moun sa yo ki yo pa apwòch yo sèlman nan rezoud pwoblèm sa a. 492 00:32:14,640 --> 00:32:17,080 Gen anpil bagay diferan ki 493 00:32:17,080 --> 00:32:19,490 yon moun ta ka fè, e gen cadres anpil yo deyò. 494 00:32:19,490 --> 00:32:23,300 Angilè ak yesclips pa rakonte istwa a tout antye. 495 00:32:23,300 --> 00:32:26,370 Bon chans ak pwojè final ou a, epi di ou mèsi anpil. 496 00:32:31,960 --> 00:32:35,000 [CS50.TV]