[Powered by Google Translate] [Seimineár] [Creataí JavaScript: Cén fáth agus Conas] [Kevin Schmid] [Ollscoil Harvard] [Tá sé seo CS50.] [CS50.TV] Dia duit, gach duine. Fáilte go dtí na Creataí seimineár JavaScript. Is é mo ainm Kevin, agus sa lá atá inniu tá mé ag dul a bheith ag caint faoi chreataí JavaScript, agus is é an sprioc atá ag an seimineár ní chun tú a fháil do, a rá, frámaíocht ar leith per se máistir ach le tabhairt isteach leathan a thabhairt duit cúpla creataí agus a thaispeáint cén fáth go mbeadh muid ag iarraidh riamh creat a úsáid. Roimh féidir liom sin, beidh mé a chur ar fáil cúlra beag i JavaScript, agus ansin beidh orainn a ghlacadh ó ann. Táimid ag dul chun tús a chur le chur i bhfeidhm an liosta-a dhéanamh. Seo ár liosta tasc don lá atá inniu. Tá sé cineál greannmhar. Ní mór dúinn a chur i bhfeidhm an liosta-a dhéanamh i JavaScript. Is é seo a bhfuil sé ag dul chun breathnú cosúil le, mar sin go bhfuil ár chéad sprioc. Níl muid ag dul chun leas as creat chun é sin a dhéanamh. Táimid ag dul a cód JavaScript agus a fháil ar an liosta seo a leanas-a dhéanamh a bheith ag obair. Ansin, táimid ag dul chun feabhas a chur ar an dearadh gan úsáid a bhaint as creatlach. Táimid ag dul chun plé a dhéanamh ar rudaí éagsúla is féidir linn a dhéanamh le díreach JavaScript ina n-aonar a dhéanamh ar ár a dhéanamh-liosta beagán níos deartha go maith. Ansin, táimid ag dul le caith i roinnt jQuery, agus ansin táimid ag dul chun breathnú ar an céanna a to-do liosta, ach i bhfeidhm i creataí éagsúla, agus beidh muid ag plé a dhéanamh ar  na buntáistí agus na míbhuntáistí feadh na slí. A ligean ar tús a chur i bhfeidhm go to-do liosta. Ligean le rá táimid ag tugadh an HTML. Tá mé ag dul seo a dhéanamh níos lú le beagán. Mar is féidir leat a fheiceáil, tá mé header beag a deir Tasc agus bosca beag nuair is féidir liom dul isteach cur síos ar TODO agus ansin an cnaipe nua mír, mar sin a ligean ar iarracht chun dul isteach i TODO nua leis an liosta. Tabhair creataí seimineár JavaScript, agus tá mé a bhuail mír nua. Faighim an airdeall JavaScript a deir chur i bhfeidhm orm. Táimid agam a chur i bhfeidhm. A ligean ar a sheiceáil amach an cód seo, idir an HTML agus JavaScript. Seo ár HTML. Mar is féidir leat a fheiceáil anseo, a anseo ar ár Todos beag header. Ba é sin go bhfuil rud trom ag an mbarr, agus ansin ní mór dúinn an bosca ionchur leis an placeholder, agus ansin níl tréith áirithe an cnaipe go bhfuil gá leis an addTodo fheidhm. An bhfuil aon duine ag iarraidh a buille faoi thuairim a bhfuil ar cliceáil bhfuil signifying? [Mac Léinn freagartha inaudible] Dea é, an cliceáil ar saghas cosúil le ócáid, cosúil go bhfuil chliceáil ar an luch amháin ar ócáid, agus cad tá muid ag déanamh Tá tá muid ag tying an gcás chliceáil ar an gcnaipe seo a fhorghníomhú an bhfeidhm sin. Is AddTodo seo láimhseálaí imeacht as chliceáil cnaipe. Mar is féidir leat a fheiceáil, nuair mé cliceáil ar an gcnaipe nua mír Faigheann an imeacht cliceáil ar fired, agus faigheann an fheidhm seo ar a dtugtar. A ligean ar breathnú ar fheidhm. Mar is féidir leat a fheiceáil, tá anseo mo cód JavaScript go dtí seo. Cad tá mé ag an barr struchtúr sonraí domhanda le haghaidh mo liosta-a dhéanamh. Breathnaíonn sé cosúil le sraith. Tá sé díreach le sraith folamh. Agus ansin tá mé an fheidhm addTodo a chonaic muid níos luaithe, agus is é an líne amháin de chód i ann an airdeall. Foláirimh sé i bhfeidhm orm, agus ansin tá mé 2 tascanna ar láimh. Tá mé go dtí an TODO chur leis an struchtúr sonraí domhanda, agus ansin ba mhaith liom an liosta-a dhéanamh a tharraingt amach. Ní dhéanfaidh aon ní mhaisiúil ró-ach go fóill, ach JavaScript féidir leat a bheith cur amach acu, mar sin tá mé ag dul chun dul mall agus athbhreithniú a dhéanamh ar an bunúsacha de JavaScript ar an mbealach sin. A ligean ar thabhairt seo lámhaigh. Ligean le rá thiocfaidh an t-úsáideoir rud éigin sa bhosca seo. Chlóscríobh mé díreach tar éis rud éigin i anseo, téacs. Conas is féidir liom a shórtáil de rochtain go téacs trí JavaScript? Cuimhnigh go bhfuil JavaScript, tá sé ar cheann de na gnéithe bunúsacha a thugann sé ar ár gcumas an rochtain cláir chun an DOM. Tugann sé deis dúinn chun rochtain a fháil ar ghnéithe agus ar a n-airíonna seo HTML iarbhír. An bealach a dhéanann muid go bhfuil lom cnámha JavaScript Is féidir linn a úsáid feidhm i JavaScript a dtugtar getElementByID. Ba mhaith liom an téacs go atá clóscríofa ann i roinnt athróg a stóráil, mar sin tá mé ag dul a rá athróg nua ar a dtugtar new_todo, agus tá mé ag dul a fháil ar an eilimint. Is feidhm í seo,. GetElementByID. Agus anois tá mé ag dul gné le ID, mar sin is gá dom an ID an bosca téacs, mar sin tá mé tugadh an new_todo_description ID. Sin é an chaoi mé ag dul a fháil ar gné. Sin mo argóint chun an fheidhm seo, a shonrú a haitheantas a fháil. Agus mar sin go bhfuil eilimint i HTML, agus tá sé airíonna. Tá tú le feiceáil ar na. Tá siad tréithe. Is é an tréith ar an eilimint téacs ina stóráiltear an úsáideora ionchur a dtugtar luach. Shábháil mé an luach na bosca téacs anois sa athróg dtugtar new_todo. Anois, tá mé rochtain cláir a ghabhann leis an athróg, a bhfuil de chineál ar fionnuar mar anois cad is féidir liom a dhéanamh is féidir liom é a chur le mo liosta seo a leanas-a dhéanamh. Is é an bealach ba mhaith linn é seo a dhéanamh i JavaScript-agus ná bíodh imní ort má tá tú cur amach acu ar seo, ach díreach ag dul tríd sé go bhfuil todos.push toisc go bhfuil an t-ainm ar mo struchtúr sonraí domhanda suas anseo, agus tá mé ag dul a bhrú new_todo. Tá sé seo iontach toisc go anois tá mé é chuig mo JavaScript ionadaíocht a to-do liosta. Ach anois conas is féidir liom é a fháil ar ais go dtí an HTML? Caithfidh mé a fháil ar bhealach a shórtáil de é a bhrú ar ais. I bhfocail eile, tá mé cineál a tharraingt ar an. Cad tá muid ag dul a dhéanamh go bhfuil muid ag dul a tharraingt ar an liosta seo a leanas-a dhéanamh. Is gá dom a thabhairt cothrom le dáta HTML eile ar an leathanach, agus is féidir leat a fheiceáil, tá mé d'fhág an coimeádán beag anseo, seo divider ar an leathanach a bhfuil a haitheantas is todos, agus tá mé ag dul a chur ar an liosta seo a leanas-a dhéanamh ann. An Chéad tá mé ag dul a ghlanadh sé amach mar gheall ar, a rá, bhí sean to-do liosta ann. Tá mé ag dul go eilimint le ID arís, agus tá mé ag teacht ar an HTML istigh den eilimint, agus tá mé ag dul go soiléir go. Má d'fhág muid an cód seo mar go bhfuil, ba mhaith linn a fheiceáil aon rud bán ann, agus anois is mian liom a thosú rindreáil mo nua to-do liosta. Tá mé ag dul go bunúsach chun wipe amach mo liosta-a dhéanamh. Anois tá an taobh istigh HTML istigh den div todos go hiomlán soiléir, agus anois is gá dom chun tús a chur leis mo liosta. Is é an chéad rud ba mhaith liom a chur ar ais ar an chlib liosta gan ord, a seasann go bunúsach go bhfuil sé seo tús liosta gan ord. Anois le haghaidh gach gné i mo todos eagar Ba mhaith liom a phriontáil amach é taobh istigh den HTML. Ba mhaith liom a chur mar fhoscríbhinn sé ar aghaidh go dtí an bun an liosta. Díreach cosúil i C, is féidir liom a úsáid le haghaidh lúb, agus mé ag dul chun tús a chur ag tús na mo liosta ag eilimint 0, agus tá mé ag dul chun dul go léir ar an mbealach chun an fad an liosta. Is féidir linn a fháil i ndáiríre an fad eagar i JavaScript baint úsáide as an maoin fad. Go bunúsach tá mé ag dul chun rud éigin an-chosúil a dhéanamh taobh istigh de anseo a phriontáil amach an eilimint. Is féidir liom rochtain a fháil arís ar an div todos, an mhaoin HTML istigh de sin, agus tá mé ag dul a chur ar an mír liosta nua, agus go bhfuil dul chun bheith mórthimpeallaithe ag an gclib li, agus tá mé ag dul chun comhcheangail leis an oibreoir +, agus sin an ghné sháith de mo todos eagar, agus ansin mé ag dul a dhúnadh go chlib. Anois le haghaidh gach gné beidh orainn a chur ar iontráil liosta nua. Agus ansin tá gach ní mór dúinn i ndáiríre a dhéanamh dhúnadh amach go chlib. Is gá mé díreach tar éis a dhúnadh amach go gan ord tag liosta. An bhfuil tú a fháil bhraitheann ar conas a oibríonn sin? Osclaíonn sé seo an liosta iomlán. Cuireann eilimintí aonair ón liosta todos leis an liosta, agus ansin go Dúnann an liosta ar fad, agus is é seo mo fheidhm addTodo. Mé ag tosú go bunúsach ag dul an TODO as an mbosca téacs. Cuir mé go dtí an eagar todos, agus ansin mé ath-sholáthar ar an liosta seo a leanas-a dhéanamh. Anois is féidir liom míreanna a chur le mo liosta. Tá sé seo de chineál spreagúil mar gheall i díreach cúpla líne de chód atá déanta againn go bunúsach liosta seo a leanas-a dhéanamh nuair is féidir linn a chur míreanna. Breataine. Sin de chineál ar réamheolas bunúsach do JavaScript. Ná bíodh imní ort iomarca faoi an error do anois, ach smaoineamh faoi seo choincheapa de. Bhí orainn roinnt HTML. Bhí orainn bhosca téacs ar an leathanach go n-úsáideoirí go bunúsach a cheadaítear chun ionchur mír seo a leanas-a dhéanamh a chur leis. Agus ansin a úsáid le linn JavaScript a gheofaí go TODO ón mbosca téacs. Stóráil againn go taobh istigh eagar JavaScript, a bhfuil go bunúsach mar ár n-ionadaíocht cláir den to-do liosta, agus ansin clóite againn sé amach. Is é seo an todos.js. Is é seo an cineál fionnuar, ach conas is féidir linn an deis seo a thuilleadh? Bhuel, is féidir leat a fheiceáil, nach bhfuil sé seo cosúil le iomlán to-do liosta. Mar shampla, ní féidir liom a mharcáil aon cheann de na míreanna seo mar neamhiomlán, Is maith má bhí mé a reprioritize na míreanna nó míreanna a scriosadh. Tá sé seo ceart go leor, ach is féidir linn an deis seo a thuilleadh. Níl mé ag dul chun labhairt i bhfad ró-ar cur gnéithe breise, ach d'fhéadfadh muid a chur go bhfuil a thuilleadh. A ligean ar labhairt faoi ag cur ceann gné níos mó a ghabhann leis an to-do liosta, atá ag dul a bheith a bheith in ann a sheiceáil ar an duine aonair a dhéanamh-mhír agus tá sé a scriosadh amach, mar sin go bunúsach ag rá Mé a rinneadh é seo. A ligean ar breathnú ar roinnt cód a d'fhéadfadh a chur i gcrích go. Fógra cad mé a rinneadh ag an mbarr Tá mé tar éis Chuir sraith domhanda nua ar a dtugtar i gcrích. Tá mé ag baint úsáide as go bunúsach seo a stóráil cibé acu na míreanna ar an liosta seo-a dhéanamh Tá iomlán nó nach mbeidh. Is é seo an bealach amháin chun é seo a dhéanamh. Má mé ag amharc ar an bhfeidhm seo, an taispeáint, go bunúsach má roghnaíonn mé TODO agus mé brúigh an cnaipe scoránaigh Trasnaíonn sé amach, tá gach mír ar an liosta sin ceachtar iomlán nó stáit neamhiomlán, agus tá mé ag baint úsáide as sraith eile ionadaíocht a dhéanamh go. Go bunúsach le haghaidh gach TODO sa eagar todos níl an mír sa sraith iomlán go léiríonn go bunúsach cibé acu is é iomlán nó nach mbeidh. Tá mé go raibh athruithe go leor íosta a dhéanamh ar an gcód seo, mar sin tá anseo ár bhfeidhm addTodo. Fógra go anseo tá mé ag brú sé isteach ar an eagar, agus ansin tá mé ag brú 0 leis an sraith iomlán, go bunúsach i gcomhthreo leis an TODO bhrú nua a rá Tá mé ag cur mhír seo, agus tá sé chomh maith leis an luach, rud a chiallaíonn go bhfuil sé neamhiomlán. Agus ansin tá mé ag redrawing an liosta-a dhéanamh. Anois, Tugaim faoi deara tar éis Chuir an fheidhm drawTodoList. Tógann sé seo a lán de chód a bhí againn roimh, go bunúsach nglanann amach an bhosca agus ansin déanann an nua to-do liosta. Ach faoi deara go taobh istigh de seo le haghaidh lúb táimid ag déanamh beag níos mó anois. Táimid ag seiceáil a dhéanamh cibé an mhír a fhreagraíonn do na TODO sháith anseo go bunúsach críochnaithe, agus táimid ag iompar go héagsúil sna 2 cúinsí. Má tá sé críochnaithe, tá muid ag cur an gclib seo del, a bhfuil bunúsach ar an mbealach is féidir leat a fháil go stailc trí éifeacht trasnú amach ar an liosta seo a leanas-a dhéanamh má tá sé i gcrích, agus más rud é nach bhfuil sé, ní táimid ag lena n-áirítear é. Agus mar sin a thógann chineál sin de chúram sin, agus go bhfuil bealach amháin chun accomplish seo. Agus ansin faoi deara nuair a cad a tharlaíonn nuair an t-úsáideoir ar cheann de na scoránaigh againn ar an stádas i gcrích é. Nuair a bheidh na cad a tharlaíonn nuair úsáideoir, beidh muid ag athrú cé acu tá sé curtha i gcrích nó nach bhfuil, agus ansin beidh muid ataispeáin sé. An cineál na n-oibreacha. Táimid tar éis na feidhmeanna a chur i gcrích a gcuid tascanna féin, agus tá sé seo ceart go leor. An bhfuil aon rud gur féidir linn a dhéanamh níos fearr faoi seo, cé? Fógra táimid tar éis na 2 arrays domhanda. Má ba é seo C, agus bhí againn 2 arrays gur de chineál ar ionadaíocht sonraí go raibh saghas a bhaineann ar bhealach éigin cad ba mhaith linn a úsáid i C a chur le chéile na réimsí 2 i rud éigin a chuimsíonn an dá phíosa eolais? Aon duine ar mian chun moladh a dhéanamh? [Mac Léinn freagartha inaudible] Go díreach, agus mar sin d'fhéadfadh muid a úsáid roinnt de chineál struct, agus má cheapann tú ar ais go dtí, abair, pset 3, cuimhnigh bhí againn foclóir, agus ansin bhí againn cé acu an focal Ba sa bhfoclóir, agus bhí go léir an fhaisnéis sin a chur le chéile taobh istigh de roinnt struchtúr sonraí. Rud amháin is féidir liom a dhéanamh leis an gcód seo a sheachaint, a bhfuil na 2 arrays éagsúla chun píosaí den chineál céanna faisnéise is féidir liom iad a chur le chéile i réad JavaScript. A ligean ar ghlacadh le breathnú ar sin. Fógra go bhfuil mé ach sraith amháin ag an mbarr anois agus cad Mé a rinneadh é-agus tá sé seo ach an chomhréir JavaScript le haghaidh saghas a chruthú leagan litriúil de rud, agus faoi deara go bhfuil 2 airíonna, mar sin ní mór dúinn an TODO, agus tá sé á choimeád mar aon le cibé an bhfuil sé iomlán nó neamhiomlán. Is é seo an cód an-chosúil. Táimid ag baint úsáide as na rudaí JavaScript. An cineál rudaí a fheabhsaíonn. Cosúil anois, go léir na réimsí faisnéis a bhaineann leo a choimeád le chéile. Nuair a théann muid chun é a phriontáil amach, is féidir linn teacht ar na réimsí. Fógra conas tá ag éirí linn todos [i]. Iomlán in ionad seiceála an sraith iomlán leithligh, agus faoi deara nuair a ba mhaith linn a fháil ar an teaghrán le-a dhéanamh táimid ag dul ar an maoin a dhéanamh- den TODO, mar sin a dhéanann an gcineál seo chiall mar Tá gach ítim ar na hairíonna intreacha mar gheall air. Tá sé TODO, agus tá sé cibé an bhfuil sé iomlán nó nach mbeidh. Níl sé ró-go leor athruithe ann feidhmiúil, a dúirt ach cuid níos mó chun an cód. Tá sé seo feabhas ar roinnt réimsí, ceart? Ciallaíonn mé, mar fhachtóir muid amach an dearadh le beagán. Anois, tá muid rudaí a Cuach go bunúsach na sonraí seo. An bhfuil aon rud níos mó a d'fhéadfadh muid a dhéanamh ó anseo i dtéarmaí JavaScript? Cosúil le fógra go bhfuil an cód ceart anseo chun dul ar an HTML istigh de div Is beag, buille faoi thuairim mé, fada. Níl document.getElementByID ("todos"). InnerHTML. Rud amháin gur féidir linn a dhéanamh chun a dhéanamh an gcód seo cuma beagán níos cairdiúla mar sin ní ba mhaith liom a choinneáil scrollaigh chlé agus ar dheis, ar ais agus amach, Is féidir liom a úsáid leabharlann cosúil jQuery. A ligean ar a sheiceáil amach Seimineár 2, agus is é seo an cód céanna, ach tá sé déanta le jQuery. Ní féidir leat a bheith ró-eolach ar jQuery, ach amháin a fhios go bhfuil jQuery saghas leabharlann do JavaScript a dhéanann sé níos éasca chun rudaí cosúil le gnéithe ar leith rochtana ar an DOM dhéanamh. Anseo in ionad ag rá document.getElementByID ("todos"). InnerHTML Is féidir liom a úsáid ar an mbealach níos glaine i bhfad i jQuery, a bhfuil ach le roghnóirí a úsáid. Mar is féidir leat a fheiceáil, raibh an gcód seo a fháil níos glaine beag, an-chosúil feidhmiúil, ach sin an smaoineamh. Againn atá le feiceáil ar feadh cúpla rudaí go dtí seo, mar sin thosaigh muid le cur i bhfeidhm JavaScript díreach amh. Chuir muid gnéithe nua agus léirigh conas is féidir linn feabhas a chur sé le ach cad atá againn i JavaScript. An bhfuil aon duine a fheiceáil aon deacrachtaí leis an dearadh? Eadhon, buille faoi thuairim-nó mé nach deacrachtaí gá ach ligean le rá Ní raibh muid ag déanamh go-a dhéanamh tionscadal liosta, agus amárach shocraigh muid bhíomar ag iarraidh a dhéanamh ar liosta grósaera nó tionscadal liosta siopadóireachta. A lán de na gnéithe seo an-chosúil. A lán de na rudaí ba mhaith linn a fháil amach JavaScript a bhfuil an-choitianta, agus béim ar seo an gá atá le roinnt de chineál ar bhealach seo a dhéanamh níos éasca a dhéanamh. Bhí mé a thógáil suas go léir ar an rochtain HTML, gach rochtain seo DOM, cosúil tá mé ag dul chun ionadaíocht a dhéanamh ar an liosta a-a dhéanamh leis an múnla seo. Agus faoi deara Tá mé freagrach mar an bhforbróir JavaScript le haghaidh a choimeád HTML agus JavaScript go bhfuil mé i info. Ní dhéanfaidh aon ní a rinneadh go huathoibríoch go ionadaíochta JavaScript nó ar an liosta a-dhéanamh a fháil bhrú amach go HTML. Ní dhéanfaidh aon ní i bhfeidhm go ach amháin i gcás dom. Bhí mé a scríobh an a tharraingt ar-a dhéanamh fheidhm liosta. Agus ní fhéadfadh a bheith-liom a chiallaíonn, tá sé réasúnta é sin a dhéanamh, ach d'fhéadfadh sé a bheith tedious uaireanta. Má tá tú tionscadal níos mó, d'fhéadfadh a bheith deacair. Creataí, ar cheann de na críocha creataí Is é a shimpliú an bpróiseas sin agus saghas fachtóir amach na coiteann-buille faoi thuairim mé d'fhéadfaí tú patrúin rá-dhearadh Tá go bhfuil daoine i gcoitinne de shaghas éigin ar bhealach le sonraí a léiriú, cibé acu go liosta cairde, bíodh sin fhaisnéis atá léarscáil le nó rud éigin nó liosta seo a leanas-a dhéanamh. Tá roinnt daoine go ginearálta ar bhealach a léiríonn eolas, agus is gá iad go ginearálta a choinneáil gur saghas eolais de i info idir an méid a fheiceann an t-úsáideoir i roinnt de chineál de, labhairt i dtéarmaí cosúil leis an rialtóir dearcadh múnla a chonaic tú i léacht, agus ansin an tsamhail, a bhfuil sa chás seo an eagar JavaScript. Creataí a thabhairt dúinn ar bhealach chun an fhadhb a réiteach. Anois, a ligean ar ghlacadh le breathnú ar chur chun feidhme an to-do liosta i gcreat a dtugtar angularjs. Is é seo é. Fógra n-oireann sé ar sleamhnán. Ní dóigh liom go bhfuil a scrollbharra ar an taobh clé agus ar dheis. Nach bhfuil dócha ar chúis mhór a mholadh ag baint úsáide as creat, ach tá fógra rochtain mé riamh eilimintí HTML aonair anseo? Am mé ag dul riamh isteach sa DOM? An bhfeiceann tú aon document.getElementByID nó rud éigin mar sin? Níl, tá go imithe. Cabhraíonn uilleach linn a choinneáil ar an DOM agus ár JavaScript ionadaíocht rud éigin cineál i info, mar sin más rud é nach bhfuil sé sa chomhad js, má tá aon bhealach programmatically ag dul do gach ábhar HTML ón JavaScript conas iad a choinneáil muid seo i info? Más rud é nach bhfuil sé sa chomhad js., Tá sé fuair a bheith i HTML, ceart? Is é seo an leagan nua den comhad HTML, agus fógra againn tar éis Chuir go leor anseo. Fógra níl na tréithe nua a rá NG-cliceáil agus NG-athuair. Cur chuige uilleach a fhadhb seo a réiteach ar na deacrachtaí i ndearadh Is é a dhéanamh go bunúsach HTML bhfad níos cumhachtaí. Is uilleach ar bhealach a ligeann duit a dhéanamh HTML beagán níos expressive. Mar shampla, is féidir liom a rá go bhfuil mé ag dul a cheangal nó a thathú, téacs-bhosca seo chun athrú laistigh de mo cód JavaScript uilleach. Ní dhéanann an ng-samhail sin go díreach. A deir go bunúsach go bhfuil an taobh istigh de téacs-bhosca seo mír, ach chomhlachú go bhfuil an new_todo_description athróg laistigh den chód JavaScript. Sin an-chumhachtach toisc nach bhfuil mé ag dul go follasach the DOM a fháil ar an bhfaisnéis sin. Ní féidir liom a rá document.getElementByID. Ní dóigh liom go bhfuil jQueries cosúil le rochtain DOM úsáid. Is féidir liom a chomhlachú sé le athraitheach, agus ansin nuair a athraíonn mé go athraitheach laistigh de JavaScript tá sé á choimeád i dtiúin leis an HTML, ionas go shimpliú an phróisis ag dul ar ais agus amach idir an dá. An dhéanamh go chiall? Agus faoi deara níl aon chód rochtana HTML. Táimid díreach tar éis a rinneadh HTML níos cumhachtaí, agus anois, mar shampla, is féidir linn rudaí a dhéanamh mar seo, Is maith nuair a dhéanann tú cliceáil ar seo, glaoigh ar fheidhm seo faoi raon feidhme todos.js, agus d'fhéadfadh muid a dhéanamh go roimh, ach tá rudaí eile, mar seo NG-samhail, agus fógra seo NG-athuair. Cad a cheapann tú é seo a dhéanann? Seo ár liosta gan ord ó roimh. Táimid tar éis na clibeanna ul, ach tá rindreáil mé riamh an liosta sin taobh istigh de chód JavaScript? Níl mé riamh rindreáil go sainráite leis an liosta sin. Conas a dhéanann an obair seo? Bhuel, gcomhlíonfaidh an mbealach uilleach seo tá sé seo ar a dtugtar athsheoltóra. Go bunúsach deir sé seo gur mhaith liom seo a phriontáil HTML do gach taobh istigh TODO de mo todos eagar. Taobh istigh de todos.jr tá sraith todos dheis anseo, agus beidh sé seo in iúl dul uilleach tríd an eagar, agus do gach eilimint a fheiceann tú Ba mhaith liom tú a phriontáil an HTML. Is é seo an cineál uamhnach mar is féidir liom a dhéanamh ach seo gan a bheith a scríobh le haghaidh lúb, a d'to-do liosta nach raibh ach 30 línte de chód Ní féidir a bheith ar an rud is tairbhiúla, ach má tá tú tionscadal mór, d'fhéadfadh sé seo a fháil go han-áisiúil. Is é seo an réiteach amháin ar an fhadhb seo, a dhéanamh HTML níos cumhachtaí, agus a ligeann dúinn a choinneáil ar JavaScript agus HTML i info. Tá bealaí féideartha eile chun an fhadhb seo a réiteach, agus ní dhéanann gach creat seo. Ní oibríonn gach creat feadh na línte. Tá roinnt creataí chuige éagsúla, agus is féidir leat teacht go bhfuil tú taitneamh a bhaint as códú i gcreat amháin thar an gceann eile. A ligean ar breathnú ar cheann níos mó. Is é seo an liosta seo a leanas-a dhéanamh códaithe suas i gcreat a dtugtar cnámh droma. Tá mé ag dul chun dul tríd seo go tapa. Feicfidh mé tús a chur leis an HTML sula dtéann muid ann. Dara ceann. Ag tosú leis an HTML, mar a thugann tú faoi deara, is é ár n-HTML an-chosúil leis an méid a bhí sé roimh, agus mar sin nach bhfuil i bhfad ró-nua ar an tosaigh. Ach is é ár comhad js beagán difriúil. Tá cnámh droma de chineál ar an smaoineamh seo, nó tógann sé ar an smaoineamh go bhfuil a lán de cad a dhéanann muid leis, a rá, ár dtionscadail JavaScript Tá smaoineamh ar samhlacha agus na bailiúcháin de na samhlacha. D'fhéadfadh sé seo a bheith, mar shampla, le grianghraf agus bailiúcháin na grianghraif, nó an smaoineamh cara agus bailiúcháin de chairde. Agus oftentimes nuair a bhíonn muid ag cláir iarratais JavaScript beidh orainn a shórtáil de ionadaíocht a dhéanamh ar an smaoineamh go bhfuil bailiúchán de chairde bhealach i JavaScript, tugann agus cnámh droma dúinn an ciseal ar bharr arrays atá ann cheana JavaScript agus rudaí chun rudaí a dhéanamh níos cumhachtaí leis an níos éasca. Anseo tá mé sainithe shamhail chun-a dhéanamh, agus ní gá duit a bheith buartha iomarca faoi na error, ach faoi deara go bhfuil cad atá ar cheann de na hairíonna seo? Tá sé réimse réamhshocraithe. Ceadaíonn cnámh droma orm a shonrú cheana féin as an sciathán leathair aon nua-a dhéanamh go chruthú mé ag dul go bhfuil na réamhshocruithe. Anois is féidir liom a shaincheapadh seo, ach a bheith in ann a shonrú na mainneachtainí Is deas, agus tá sé de chineál áisiúil toisc nach bhfuil sé seo rud éigin go bhfuil cosúil le is gné dhílis de JavaScript, agus anois ní dóigh liom go bhfuil go sainráite rá go bhfuil na todos neamhiomlán. Is féidir liom a rá ceart as an bat go bhfuil todos dul a bheith marcáilte mar neamhiomlán. Cad é Fógra ansin seo? Anois, tá mé liosta seo a leanas-a dhéanamh, agus go bhfuil ar bhailiúchán. Fógra an réimse a bhaineann leis a deir múnla TODO. Is é seo mo bhealach an insint cnámh droma gur Tá mé ag dul a bheith ag smaoineamh faoi bhailiúchán de na todos aonair. Tá sé seo go bunúsach ar an struchtúr múnla do mo chlár. Anseo tá mé an smaoineamh seo de bhailiúchán, agus go bunúsach go bhfuil na nithe atá sa bhailiúchán dul go léir a bheith ar na todos, agus go bhfuil an-nádúrtha sa chiall seo mar is féidir liom go bhfuil todos, agus tá mé iad i mbailiúchán. A ligean ar breathnú ar beagán níos mó de seo. Seo d'fhonn cnámh droma. Is é an rud eile a deir cnámh droma gur a lán de na múnlaí go bhfuil tú ag smaoineamh faoi nó fiú bailiúcháin ag dul go mór a bheith acu ar bhealach éigin a bheith ar taispeáint. Ní mór dúinn i gcóir chun gur to-do liosta, agus ní bheadh ​​sé deas dá dtiocfadh linn a chur ar fáil do gach samhail nó a cheangal le gach samhail an dearcadh seo a ligeann dúinn a buille faoi thuairim mé a nascadh an dá chéile? Ach sula raibh muid a úsáid le haghaidh lúb a bheadh ​​go ritheann tríd gach TODO i ár liosta agus ansin phriontáil amach anseo Is féidir linn a nascadh go bunúsach é leis an múnla seo. Is é seo an dearcadh a-dhéanamh. Tá sé seo a bhaineann leis an TODO fuair muid níos luaithe. Anois tá gach TODO displayable nó renderable ag an-a dhéanamh amharc. Faoi deara roinnt de na réimsí. Cad a cheapann tú é seo tagName, tagName: li? Cuimhnigh ó roimh nuair a bhíomar ag iarraidh a dhéanamh chun go mbeidh TODO ba mhaith linn chun péire go sainráite ár todos leis an gclib seo li. Anois, tá muid ag rá go ina bhfuil an TODO ag dul chun cónaí ag dul a bheith taobh istigh de chlib li. Agus anois tá muid ag chomhlachú freisin imeachtaí lenár todos. Tá an ócáid ​​amháin gach TODO. Má chliceálann tú go leor i bhfad an cnaipe scoránaigh, go bhfuil an méid mé ag rá go bhfuil, ansin a mharcáil go bunúsach an TODO mar an os coinne an méid a bhí sé roimh agus ansin ath-sholáthar ar an iarratas. Tá an cineál cosúil leis an gcód roimh. Cuimhnigh nuair marcáilte muid é mar ceachtar an os coinne nó- agus ansin dúinn a ath-a rinneadh é. Ach faoi deara anois an ócáid ​​seo a úsáidtear a bheith rud éigin a bhí in HTML. Bhí sé ina suí ann. Bhí cliceáil ar an gcnaipe. Nuair a chliceálann tú ar an gcnaipe, tá sé de chineál ar a dhéanann an stuif a arna chur ar bun go TODO a bheith neamhiomlán. Anseo tá muid ag baint an teagmhas de chliceáil cnaipe scoránaigh agus aisiompú bíodh sé ar, nó as leis an tuairim seo. Is é seo ar bhealach deas a bhunú ócáid ​​seo ionas go bhfuil sé an-docht faoi cheangal leis an dearcadh seo, agus mar sin faoi deara an ceann seo níos mó. Tá mé an modh seo rindreáil, agus nach bhfuil againn chun dul tríd na sonraí. Tá sé de chineál cosúil leis an méid a bhí againn roimh, ach faoi deara nach bhfuil mé ag looping trí rud ar bith. Níl mé ag priontáil go chlib ul go bhfuil saghas rá Tá mé ag dul i gcló gach ceann de na heilimintí. Tá mé ag fáil an fheidhmiúlacht ar rindreáil an ceann seo a leanas-a dhéanamh earra. Is é seo an coincheap an-chumhachtach mar gheall go bunúsach Is éard atá ár liosta seo a leanas-a dhéanamh de go léir na todos, agus más féidir linn a shonrú go bunúsach ar an mbealach i gcóir chun ceann de na todos ansin is féidir linn a bheith ar ár cnámh droma cumhachtach per se tabharfaidh sé gach de na todos trí ghlaoch ar an modh rindreáil ar an todos aonair. Is é seo an coincheap atá úsáideach anseo. Anois tá ceist mhaith a iarraidh ar conas an t-iarratas seo á chur le chéile? Toisc go mór dúinn an cumas i gcóir chun TODO amháin, ach conas is féidir linn a fháil ar an smaoineamh todos il? A ligean ar ghlacadh le breathnú ar sin. Is é seo an chuid dheireanach. Fógra ní mór dúinn a leanas-a dhéanamh d'fhonn liosta anseo, agus faoi deara go bhfuil sé chomh maith d'fhonn. Agus chun dul thar cúpla rudaí, Beidh an modh seo thúsú bheith ar a dtugtar nuair a chruthú dúinn an chéad liosta seo chun-a dhéanamh. Mar is féidir leat a fheiceáil, tá sé cosúil le a chruthú ar an liosta seo a leanas-a dhéanamh agus a chomhlachú leis an tuairim sin. Agus ansin chuir mé na feidhmeanna anseo mar sin go bunúsach nuair a cuir tú mír- is é seo cosúil leis an modh addItem chonaic muid roimh- Tá mé ag dul a chruthú TODO réad nua, agus faoi deara Tá mé ag glaoch i ndáiríre an modh nua TODO, mar sin tá sé seo ar fáil ag cnámh droma, agus is féidir liom pas a fháil i mo airíonna anseo. Agus anois beidh gach TODO a chruthaíonn mé ag baint úsáide as seo a fháil go feidhmiúlacht a chonaic muid roimh. Fógra mé ag glanadh amach an bhosca téacs mion-roimh-beagán beag agus ansin tá mé ag cur an bailiúchán seo. Dealraíonn sé seo beagnach aisteach mar gheall ar roimh a bhí againn ach a dhéanamh go todos.push, agus ansin bhí déanta againn, agus d'fhéadfadh sé seo cosúil níos casta don tionscadal áirithe seo, agus is féidir leat teacht go cnámh droma nó fiú uilleacha nó aon chreat eile Ní oireann do do thionscadal ar leith, ach sílim go bhfuil sé tábhachtach machnamh cad a chiallaíonn sé seo ar scála níos mó maidir le tionscadail mhóra, mar má bhí againn le tionscadal níos mó áit a raibh muid ionadaíonn roinnt bailiúchán ndáiríre casta, rud éigin níos doimhne ná díreach liosta seo a leanas-a dhéanamh, ligean le rá ar liosta cairde nó rud éigin mar sin, d'fhéadfadh sé seo teacht i handy toisc go raibh muid ábalta a eagrú ár gcód ar bhealach i ndáiríre áisiúil, ar bhealach a bheadh ​​a dhéanann sé níos éasca do dhuine eile a bhí ag iarraidh a piocadh suas le tionscadal a thógáil ar. Is féidir leat a fheiceáil go soláthraíonn a lán de struchtúr. Agus ansin tá mé ag iarraidh a fhágáil ar an addItem. Rindreáil, mar is féidir leat a fheiceáil, agus ní gá duit a thuiscint an error iomlán, ach go bunúsach do gach samhail tá sé ag dul chun glaoch ar an modh rindreáil aonair. Sin an saghas nuair a thagann seo ó. A ligean ar a shonrú go díreach conas a fhágfaidh na todos aonair, agus ansin a ligean ar gliú iad le chéile mar ina iomláine. Ach cuireann sé seo ar bhealach ar astarraingt, toisc go raibh mé in ann a athrú ar an mbealach a chinneadh mé i gcóir chun an todos aonair, agus ní ba mhaith liom a athrú ar aon cheann de chóid seo. Sin de chineál ar cool. An bhfuil aon duine aon cheist agat faoin creataí JavaScript? [Ceist Mac Léinn inaudible] Oh, cinnte, go bhfuil ceist mhór. An cheist a bhí conas a raibh san áireamh mé na creataí? Tá formhór na creataí JavaScript bunúsach ach comhaid js gur féidir tú ag barr do chód. Fógra sa chuid ceann de mo HTML Tá mé go léir na clibeanna script, agus is é an chlib script deiridh an cód go atá againn i scríbhinn. Agus ansin tá an 3 cóid chreat ach freisin clibeanna script. Tá mé ag lena n-áirítear iad ó cad atá ar a dtugtar CDN, a cheadaíonn dom chun é a fháil ó dhuine eile ag an bpointe seo ach tá gach creat is féidir é seo-leat teacht ar go leor i bhfad ar an ábhar do leabharlann JavaScript ar leith ar fáil ar roinnt CDN nó rud éigin mar sin, agus ansin is féidir leat san áireamh na clibeanna script. An dhéanamh go chiall? Cool. Tá na 2 chuige éagsúla. Nach bhfuil na an cur chuige amháin a réiteach ar an bhfadhb. Tá go leor rudaí éagsúla go D'fhéadfadh duine éigin a dhéanamh, agus tá go leor creataí amach ann. Uilleach agus nach bhfuil cnámh droma a insint ar an scéal ar fad. Ádh mór le do thionscadail deiridh, agus buíochas a ghabháil leat go mór. [CS50.TV]