1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> Spreker 1: Nou in die laaste voorbeeld, onthou dat ons afgewissel sommige 3 00:00:03,000 --> 00:00:07,170 JavaScript-kode binnekant van my HTML, spesifiek, binnekant van die waarde van 4 00:00:07,170 --> 00:00:10,460 die kenmerk 'n beroep op Stuur vir daardie vorm tag. 5 00:00:10,460 --> 00:00:12,850 Nou vir klein bladsye, hierdie is nie so 'n groot deal. 6 00:00:12,850 --> 00:00:15,950 Maar as 'n webblad kry meer en meer kompleks, net om jou 7 00:00:15,950 --> 00:00:19,660 JavaScript-kode hier en daar binnekant van die waarde van die eienskappe is nie die 8 00:00:19,660 --> 00:00:20,830 beste ontwerp. 9 00:00:20,830 --> 00:00:23,440 Beste as ons 'n faktor wat uit en ten minste het dit binne-in 10 00:00:23,440 --> 00:00:25,200 die script tag sentraal. 11 00:00:25,200 --> 00:00:26,080 >> Hoe om dit te doen? 12 00:00:26,080 --> 00:00:30,040 Wel, laat ons teruggaan na my vorm tag en eerste van hierdie eienskap en sy vee 13 00:00:30,040 --> 00:00:31,780 waardeer geheel en al. 14 00:00:31,780 --> 00:00:35,730 Dan hier, eerder as om te definieer 'n funksie genoem Groet, laat hang 15 00:00:35,730 --> 00:00:39,405 na die reël van die kode wat uiteindelik ons sal nog steeds wil uit te voer en te vervang 16 00:00:39,405 --> 00:00:41,560 die Groet funksie soos volg. 17 00:00:41,560 --> 00:00:48,190 Document.get Element By ID haal unquote demo - 18 00:00:48,190 --> 00:00:52,410 waar demo, onthou, is die unieke id vir die vorm self - 19 00:00:52,410 --> 00:00:56,600 dot op lê, wat onthou is die naam van die gebeurtenis hanteerder in wat 20 00:00:56,600 --> 00:00:57,710 ons is geïnteresseerd. 21 00:00:57,710 --> 00:01:01,990 En laat ons ken wat op dien hanteerder die waarde wat is eintlik 'n 22 00:01:01,990 --> 00:01:03,740 funksie self. 23 00:01:03,740 --> 00:01:06,390 >> Nou sien dat ek nie eintlik roep 'n funksie hier. 24 00:01:06,390 --> 00:01:10,650 Ek plaas die definisie van 'n anonieme, andersins bekend as 'n lambda-funksie, 25 00:01:10,650 --> 00:01:14,100 deur die spesifiseer tussen hierdie krulhakies 'n klomp van die kode dat indien 26 00:01:14,100 --> 00:01:15,490 werklik uitgevoer word. 27 00:01:15,490 --> 00:01:18,500 Spesifiek, die kode wat ek wil uit te voer, is dat die lyn wat ek gehad het 28 00:01:18,500 --> 00:01:23,370 voor, en dan laat ons voeg by dat die terugkeer valse sodat hierdie vorm is nie 29 00:01:23,370 --> 00:01:26,950 uiteindelik voorgelê afgeleë web te beëindig bediener in die tradisionele manier. 30 00:01:26,950 --> 00:01:30,345 >> Kom ons nou ook red van hierdie lêer, maak dit in 'n leser, en kyk wat gebeur. 31 00:01:30,345 --> 00:01:33,050 32 00:01:33,050 --> 00:01:39,800 http://localhost/dom-1.html. 33 00:01:39,800 --> 00:01:43,060 Kom ons tik nou in my naam, David, Stuur. 34 00:01:43,060 --> 00:01:46,900 En niks blyk te gebeur behalwe die URL van my bladsy lyk 35 00:01:46,900 --> 00:01:52,580 verander het asof die vorm was eintlik aan die dieselfde lêer. 36 00:01:52,580 --> 00:01:53,870 >> Nou hoekom sou dit wees? 37 00:01:53,870 --> 00:01:55,340 Wel, ek moet 'n paar meer inligting. 38 00:01:55,340 --> 00:01:58,700 So laat ons gaan voort en oop Chrome se Ontwikkelaar gereedskap sodat ek kan eintlik 39 00:01:58,700 --> 00:02:01,440 kyk na die konsole venster te sien As ek iets verkeerd gedoen het nie. 40 00:02:01,440 --> 00:02:03,330 Ek kan toegang wat via 'n paar van die maniere. 41 00:02:03,330 --> 00:02:07,250 Een van wat via die spyskaart hier, dan onder Tools, dan af te 42 00:02:07,250 --> 00:02:08,509 Ontwikkelaar gereedskap. 43 00:02:08,509 --> 00:02:12,890 >> En sien hier in die blad Console, daar is 'n uncaught tipe fout, kan nie 44 00:02:12,890 --> 00:02:15,390 stel eiendom op dien van nul. 45 00:02:15,390 --> 00:02:16,900 Nou hoekom sou dit wees? 46 00:02:16,900 --> 00:02:21,380 Wel terug in my bron-kode hier, kennisgewing wat op lê ek dink is 'n 47 00:02:21,380 --> 00:02:25,360 eiendom van die element se unieke identifikasie is demo. 48 00:02:25,360 --> 00:02:27,810 'N element, weer, is net 'n knoop in 'n boom. 49 00:02:27,810 --> 00:02:30,870 >> So blyk dit dat my browser nie dink dat daardie element 50 00:02:30,870 --> 00:02:32,500 of node bestaan ​​nie. 51 00:02:32,500 --> 00:02:33,790 En inderdaad, dit nie doen nie. 52 00:02:33,790 --> 00:02:37,690 Onthou dat 'n webblad is geparseerd of lees deur 'n webblaaier, bo na onder, 53 00:02:37,690 --> 00:02:38,430 links na regs. 54 00:02:38,430 --> 00:02:41,810 En so wanneer JavaScript-kode is ondervind, tipies, is dit uitgevoer 55 00:02:41,810 --> 00:02:42,700 dadelik. 56 00:02:42,700 --> 00:02:46,460 >> Maar in hierdie geval, ons het nog nie eens gekry nog aan die deel van die Dom, die 57 00:02:46,460 --> 00:02:51,100 HTML, waarin die vorm van 'n unieke identifikasie demo verklaar is. 58 00:02:51,100 --> 00:02:54,320 En so het ons probeer om uit te voer my JavaScript-kode voor daardie knoop selfs 59 00:02:54,320 --> 00:02:58,530 bestaan ​​in die boom wat, natuurlik, is problematies, want dan, dit is sekerlik 60 00:02:58,530 --> 00:03:01,390 die element self sal van nul op daardie tydstip. 61 00:03:01,390 --> 00:03:02,390 >> So hoe op te los? 62 00:03:02,390 --> 00:03:03,810 Wel, ons het 'n paar van die oplossings. 63 00:03:03,810 --> 00:03:07,200 Maar laat ons probeer om die eenvoudigste deur die verskuiwing my scripttag van die hoof 64 00:03:07,200 --> 00:03:11,560 merk aan my liggaam nie, maar spesifiek na die onderkant van my bladsy se liggaam so 65 00:03:11,560 --> 00:03:14,170 dat dit onder die knope en vrae. 66 00:03:14,170 --> 00:03:19,930 Spesifiek, laat lig en sny die oop tag en naby tag vir script 67 00:03:19,930 --> 00:03:24,720 en hervestig dat die hele blok van die kode aan die onderkant van die lêer hier. 68 00:03:24,720 --> 00:03:27,690 >> Nou is dit nie noodwendig die skoonste ontwerp, maar ten minste sal dit 69 00:03:27,690 --> 00:03:29,530 dwing die regte volgorde van bedrywighede. 70 00:03:29,530 --> 00:03:31,495 Kom ons stoor die lêer en herlaai in my leser. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 Kom ons herlaai die bladsy, weer insette my naam, en daar, Hello Dawid is terug. 73 00:03:40,240 --> 00:03:42,784