[Sezzjoni 9 - Inqas Comfortable] [Nate HARDISON - Harvard University] [Dan huwa CS50. - CS50.TV] Id-dritt. Għalhekk, l-aħħar taqsima tas-semestru. Biex tibda, naf li kien hemm xi cries biex jagħmlu xi Ajax, imma hemm xi suġġetti oħra li aħna għandha tkun qiegħda tagħmel l-ewwel? Let me jisswiċċja għall-iPad b'tali mod li għandna - Let me użu iswed minflok oranġjo. Ajax huwa fuq il-menu. Kwalunkwe oħra? Kwalunkwe suġġetti oħra li n-nies jixtiequ jaraw? Smajt DOM wisq qabel. [Student] jQuery. JQuery. Okay. jQuery. Nistgħu nagħmlu stab fil li wisq. [Student] XML. XML. [Student] JSON. XML, JSON. Okay. PHP? Kollha tajba? C? Kollha tajba? [Student] Ma jkunx iweġġgħu li jitkellmu dwar PHP. Hash tabelli? Tipprova? Listi marbuta? [Student] Oh, fuq l-kwizz mill-aħħar sena, hemm tabella għall-omega u l O. big Yeah. [Student] għall-ħin għat-tipi differenti ta 'verżjonijiet u illusions. Nistgħu nitkellmu dwar dan? Yeah. Aħna ser jitkellmu dwar xi ftit ta 'strutturi ta' dejta. [Student] Yeah. [Student] Tries. [HARDISON] strutturi Data. Aħna ser jitkellmu dwar xi tipprova għall-żgur. [Student] Jista għandna CSS ftit? Yeah, nistgħu nagħmlu CSS ftit. Kwalunkwe suġġetti oħra? Sam? [Student] Għan PHP. [HARDISON] Ambitu. Ambitu PHP. [Student] HTTP. HTTP. Tal-biża '. I raden mod wieħed biex tagħmel dan ikun li jorganizzaw kollox tip ta 'kronoloġikament u tibda bil strutturi ta 'dejta peress li dawn kienu l-aktar kmieni. Jew nistgħu tassenja dawn xi tip ta 'weighting prijorità u jmorru minn hemm. Allura dak do think inti guys? Hemm xi ħaġa li kulħadd qed imutu biex tara? Ejja nagħmlu tqajjem idejn. Kif dwar Ajax? Kemm inti guys trid tkun taf dwar Ajax? Kemm inti simili, "Man, Ajax, stajt ltqajna int"? Ħadd. Kull dritt. Allura Ajax huwa pjuttost għoli. Ejja istilla li Guy. Kif dwar DOM? Kulħadd lesta biex blat DOM? Nru? Okay. Aħna ser istilla li wieħed wisq. jQuery? Queryless. Iva. Okay. A nies koppja għall jQuery, iżda xorta nies huma ftit aktar chill ma 'dak. Okay. XML? XML. [Student] Tuza li aktar milli fil-kuntest ta 'Ajax? Fis-sens li - Iva. I mean, huwa komponent ewlieni ta 'Ajax, so I raden nistgħu bundle li ma Ajax, chat dwar il-ħaġa sħiħa hemmhekk. JSON? X'inhu JSON? Okay, jibred. Strutturi ta 'dejta? Nies tħossok pretty tajba hemmhekk? Inti taf listi marbuta tiegħek, taf tabelli hash tiegħek? Kif ma speller tmur għal kulħadd? Dan kien doozy, huh? Yeah. Okay. Yeah, nistgħu nitkellmu ftit dwar dawk iżda għal darb'oħra, mhux importanti. CSS? Nagħmlu websajts tiegħek ħarsa pretty. Okay. Ambitu PHP? Wieħed idejn big hemmhekk. Żewġ idejn kbar, tlieta. Okay. Forsi idejn medju. [Student] Aktar minn 2. Yeah. Sam huwa kampanji. Get idejk up. HTTP? Okay. Mela ejja ara. Huwa jistenna definittivament bħal Ajax u l-DOM huma x'jintrebħu. Mela ejja nibdew ma 'dak. I raden għandna koppja ta 'għażliet hawn. Wieħed huwa li tip ta tagħmel terġa 'dak Ajax u XML huma peress li aħna ma verament ikollhom ħin biex tagħmel dan fis-sezzjoni jew l-problema settijiet. Il-ħaġa oħra hija li adsa fis xi problemi minn kwizzijiet snin ta 'qabel u ara x'inhu għaddej hemmhekk. Ebda preferenza bejn il-2? [Student] Naħseb eżempji konkreti jkun aktar utli. Eżempji konkreti aktar utli? Kull dritt. Kwalunkwe dawk partikolarment, dawk tal inti mill-ekwipaġġ Ajax? Kwalunkwe problemi li inti tixtieq li tħares lejn? [Student] Huwa l-handler avveniment relatata ma 'Ajax fil-livelli kollha? I think that's - JavaScript handlers avveniment mhux bilfors jirrigwardaw Ajax. Jistgħu. [Student] Yeah, dan huwa kunċett ieħor li jien ma fil-fatt tikseb. Okay. [Student] Imma naħseb fil-kwizz mill-passat sena hemm 1 problema kbira fil-partijiet aktar tard tal-kwizz thats relatata mal Ajax u s-sintassi li jien ma verament - Kull dritt. U Ella? [Student] inħoss bħal I know dak Ajax huwa iżda I ma jkunux jafu kif jużah. Okay. [Student] inħoss bħal I do not know dak Ajax huwa jew kif jużah. [Rires] Okay. Li jaħdem pretty ukoll. Ejja ara. Ejja forsi nħarsu lejn eżempju tajjeb ta 'Ajax ewwel. Merħba, merħba. Nispera li huma okay fuq camera. Jekk le, inti tista hang out fid-dahar. Eżempju tajjeb ta 'Ajax. Let me jisswiċċja għall laptop tiegħi. Hawn ninsabu fil Google.com. Kemm inti guys qatt lagħbu l-gost "Kif Do I?" logħba fuq Google? Kif do I - u ikollok biex tara l-affarijiet kollha gost li toħroġ - tpoġġi din il-mużika fuq Tumblr tiegħi? U inti tista 'żżomm għaddej u jiksbu dan kollu tip ta' għalf gost. Dak li qed jiġri hawn? Kif inti tip fil-kaxxa query Google, ir-riżultati fil-ħin reali qed jaġġornaw. Allura tpoġġi dan - u tinnota li kollha tar-riżultati tibda aġġornament fuq il-paġna web Google. Li mhux xi ħaġa li jiġri fuq il-kompjuter tiegħek. In-netwerk huwa involut f'dan. Google huwa involut ma 'dan. Jirriżulta li kull darba li inti istampa ewlieni, bħal ngħidu G jew L, u r-riżultati tat-tiftix aġġornament, dak li qed jiġri huwa hemm xi JavaScript fuq il-paġna li s-sejbien li inti ippressat-ċavetta, u li jkun qed jagħmel talba netwerk biex Google.com għal tagħbija kollha ta 'l-aħħar riżultati li l-aħjar taqdi l-mistoqsija li inti stajt ittajpjat s'issa. Sfortunatament, nemmen li jekk konna li tħares lejn dan - Jien ser tħares lejn is-sors - l-aktar ta 'dan il-kodiċi Ajax jew JavaScript fil hawn hija kollha minified u spiss scrambled ftit wisq. Il minification litteralment huwa programm inti tista 'taħdem kodiċi JavaScript tiegħek permezz u tbiddel l-ismijiet varjabbli tiegħek u jagħmilha totalment ma tinqarax imma jipprova jagħmel tiegħek JavaScript qasir kemm jista 'jkun hekk li meta inti tibgħat JavaScript fajls tiegħek fuq in-netwerk int mhux li jgħabbu jew tibgħat fajls kbar. Allura dan il-għalf huwa pjuttost diffiċli biex jinqara, iżda midfun fil hawn, liema poteri dan typeahead - il-buzzword għal dan - huwa talbiet Ajax. Dak li jagħmel talba Ajax differenti minn kwalunkwe tip ieħor ta 'talba network? Sam? [Student] Inti ma jbiddlux il-URL. [HARDISON] Dritt. Eżattament. Tinnota tip I kif, "kif nista 'tpoġġi jawbone tiegħi fil-modalità pairing?" [Chuckles] Hemm dejjem xi gost - Yeah. Tinnota li dan URL up here fil-quċċata mhijiex tinbidel, u l-paġna sħiħa ma tkunx iġjeniċi. Mela jekk inħarsu lejn dan it-tip ta 'għalf dritt up hawn, dan il-bar fil-quċċata, din Google, u allura l-bar iswed up hawn, li huwa spiss imsejjaħ il-chrome ta 'paġna web, li mhux qed jinbidlu. Il-paġna sħiħa ma tkunx iġjeniċi. It-talba Ajax huwa użat biex tiffriska biss ir-riżultati tal-paġna, biss li 1 parti ftit tal-paġna hekk int ma jkollhom li jmorru lil URL kompletament differenti, fajl kompletament differenti, u t-tagħbija li fil-memorja. Allura meta inti tisma nies jitkellmu dwar id-dinamika Web 2.0 tip ta 'rivoluzzjoni, dan kien wara ħafna ta 'dan. Dan huwa dak li jippermetti li inti jiktbu post ħajt fuq Facebook, hit Post, u l-post jidher mingħajr il-paġna Facebook kollu iġjeniċi jew iscroll permezz mazz ta 'ritratti u t-tagħbija l-ritratti dinamiku, għaliex kemm se jiġi terda jekk inti marru għall-paġna Facebook tiegħek, għafast fuq Photos, u mbagħad kellhom ipoġġu hemmhekk u stenna filwaqt li kull koppja elf ritratti tiegħek Facebook mgħobbija fil-memorja? Li tagħbija enormi. Iżda ma Ajax inti tista 'tagħmel dan asynchronously, u li l-parti mhux sinkroniku tal-Ajax. Id-dritt. Are we tajba? Does kulħadd tip ta 'jifhmu madwar dak Ajax qed tagħmel? Dan isir mill-JavaScript, dan isir tip ta 'dinamiku u asynchronously wara li l-paġna hija mgħobbija. Huwa ta 'spiss tiġi fi wara bħala tip tar-rispons għal avveniment, li tkun jew click mouse jew stampa ewlieni jew xi ħaġa bħal dik. U allura jagħmel sejħa lura lill-server, jekk int fuq Google.com jew Facebook.com, retrieves xi kontenut ġdid biex mbagħad juru jew aġġornament jew xi ħaġa bħal dik. Kessaħ. Kull dritt. Ejja nħarsu lejn ftit eżempji mis-snin preċedenti. Aħna ser imorru għall-kwiżż. U mbagħad Charlotte, inti kienu jsemmu Quiz 1 mill-2011. [Student] Yeah. Ħaġa waħda I se kawtela hija li tħares lejn kwizzijiet snin ta 'qabel int ser tara dan il-għalf imsejħa XHR spiss bir-relazzjoni li Ajax. XHR u XML HttpRequest huwa tip tal-mod prima li jagħmlu Ajax, jekk inti se. Din is-sena konna transitioned għal kważi kompletament jużaw din il-librerija jQuery. jQuery hija librerija ta 'helper JavaScript funzjonijiet u klassijiet u kull xorta ta' goodies, u jQuery tip ta 'astratti l-għalf XHR prima bogħod minnek b'tali mod li huwa ħafna aktar faċli li tagħmel l-għalf Ajax attwali. Allura kif int scrolling permezz quizzes dawn is-snin ta 'qabel u int tara Jittieħed li tgħid XHR u XML ġdid HttpRequest, dak kollu li tip ta 'għalf, inti tista' tinjora dan. Minflok aħna qed tmur biss il-mod jQuery. Aħna ma jistennew li inti taf XML HttpRequest. Imma tajjeb li tkun taf li huwa sinonimu ma 'din l-idea ta' Ajax, dan Asinkronika JavaScript XML fetching jew JSON jew kwalunkwe fuq in-netwerk. Iżda oriġinarjament, hija kienet korrelatata man XML jew konness ma XML. Id-dritt. Ejja iscroll. Do you remember li problema partikolari, Charlotte? Giet din il-paġna li jien tħares lejn dritt hawn? [Student] Yeah, I think so. [HARDISON] Ah, I ltqajna. Okay. Yeah. Ejja nitkellmu dwar dan verament malajr. Il-mod Ajax jaħdem huwa inti ħadthom ltqajna xi fajl JavaScript fuq il-kompjuter tiegħek, u verament huwa taħdem tip ta 'fil-kuntest tal-web browser tiegħek. Allura jekk il-proġett finali tiegħek huwa li tagħmel - I do not know - a dating site ġdida għall-persuni Harvard u inti tixtieq site dating tiegħek li jkollhom il-ħila biex jibagħtu messaġġi anonimi minn persuna għal oħra jew postijiet anonimi bħal ħajt Facebook u inti tixtieq li tuża Ajax f'dak b'xi mod hekk li meta inti post messaġġ ma jġedded is-sit kollu, fil-kodiċi JavaScript tiegħek inti ser twaqqaf sejħa Ajax ġdid. Jien jiddibattu dwar jekk jew le li tagħmel dan fuq il-laptop. Il-parti importanti dwar is-sejħa Ajax hija li hemm dan it-tip ta 'asynchronicity lilha fis-sens li - let me jaqilbu lura għall iPad tiegħi - fis-sens li jekk ikolli kodiċi li għaddej biex ngħid jagħmlu xi Ajax, allura ma nistax fuq il-linja ħafna li jmiss tal-kodiċi JavaScript tiegħi jistennew li l-Ajax se jkunu tlestew. X'jiġri hija li bħala kodiċi tiegħek runs sekwenzjalment fl JavaScript, meta inti tagħmel din is-sejħa Ajax, int essenzjalment forking off u tibgħat talba għall-Internet għal xi server hawn fuq, li hija din il-kaxxa jien tpinġija u b'mod ċar mhux tpinġija huwa tajjeb ħafna. Inti forking off din is-sejħa lis-server li għaddej biex jieħdu xi żmien kif tmur off għall-Internet u tmur u hits li server u tmur u jitlob li b'kitba PHP li inti stajt miktub fuq il-aħħar lura li attwalment jirreġistra dak il-messaġġ anonimu database tiegħek jew xi ħaġa bħal dik. Allura li se jieħu xi żmien, u mbagħad eventwalment meta l-server isir ipproċessar talba Ajax tiegħek, se terġa 'lura għall-kodiċi JavaScript tiegħek, imma inti ma verament jafu fejn, fuq liema punt fit-twettiq int ser jirċievu din it-tweġiba. Kif dan huwa trattata JavaScript? Dan huwa fejn tidħol fis-din il-problema li aħna qed jitkellem dwar fuq il-laptop fejn inti tirreġistra handler, tirreġistra funzjoni JavaScript partikolari jiddekorri minn meta t-talba Ajax huwa lest. Inti ma tistax biss tagħmel sejħa Ajax tiegħek u mbagħad fil-linja ħafna li jmiss tal-kodiċi jassumi li s-sejħa Ajax temm. Parti mill-sbuħija ta 'dan huwa li inti tixtieq tiegħek JavaScript tkompli timxi wara li għamlet is-sejħa Ajax minħabba li jista furketta off din it-talba separata u żżomm ipproċessar affarijiet oħra. You ħadthom ltqajna dan it-tip ta 'concurrency għaddejjin hawn fejn tiegħek JavaScript jkompli jiddekorri u jżomm tagħmel affarijiet oħra gost, tista 'tkompli spin out talbiet Ajax oħra. Talbiet Ajax tiegħek biss jmorru għall-network u mbagħad jiġu lura kull meta dawn jaqgħu lura, imma meta inti tirreġistra din il-funzjoni handler, li meta taf li sejħa Ajax tiegħek marret lura minħabba din il-funzjoni gets imsejħa. Allura minflok li din it-triq eżekuzzjoni sekwenzjali li aħna qed jintużaw fl-C, għandek x'hemm aktar simili għal dak li rajna fil Scratch fil-bidu tas-semestru fejn ikollok dawn ix-xandiriet u mbagħad ikollok dawn "meta bandiera aħdar għafast" jew "meta I jirċievu dan l-avveniment." Li essenzjalment dak li qed jiġri hawn fl JavaScript ma 'dawn it-talbiet Ajax. Għall-risposta għal din id-domanda fuq il-linja 20, "Fil-kuntest ta 'Ajax, dan xi linja tal-kodiċi do?" jista 'xi ħadd tip ta' parafrażi dak I biss qal li jikkonfermaw il-ftehim? [Student] Jien sorry. X'tagħmel in-nofs xellugi tal jgħidu? [HARDISON] xhr.onreadystatechange. Jiddispjacini. Am I jkollna cut off? Dan huwa dak sintassi XHR li aħna mhux se jkollhom jittrattaw. Inti għandek l-kunċett simili mal-jQuery. Ejja mur Sors Kodiċi, l-Erbgħa, Indiċi. Ejja nħarsu dan up. Kull dritt. Ltqajna. Hawnhekk hija li sintassi Ajax li aħna qed jitkellem dwar. Hawnhekk int jispeċifikaw it-talba Ajax. Inti qed tgħid, "Dan huwa l-URL I jridu jmorru barra u ping." "I jridu jużaw POST kuntrarju IKOLLOK." U allura l-tip ta 'data hija "Irrid JSON jiġu rritornati." Għal darb'oħra, XML kien tip tal-ħaġa tradizzjonali. Imma dak li aħna qed tfittex huwa dik il-funzjoni. Dan huwa dak id-dritt hawn. Din il-funzjoni (rispons) hija li onreadystatechange. Dan huwa l-handler. Dan huwa dak li se tesegwixxi meta din it-talba taqa 'lura. Allura inti tinnota li din il-funzjoni li Tommy kitbet dritt hawn li aħna tkellem dwar fl lecture nhar l-Erbgħa kienet kollha dwar il-ħolqien li l-gost typeahead għalina. Tinnota li dak li qed jagħmel huwa hu bini talba Ajax u allura hemm xejn wara t-talba Ajax. Huwa ma jipproċessa l-rispons tat-talba Ajax wara l-sejħa hija magħmula. Hu biss tagħmel dan f'dan il-funzjoni handler li se tissejjaħ hekk kif ir-reazzjoni ma jiġu lura. Sam. [Student] Do talbiet Ajax għandhom ikunu ta POST tip jew jista 'jkun IKOLLOK? Dawn jistgħu jkunu jew. [Student] Kif kien li x-xogħol jekk int ma jinbidlu l-URL? Kif kien li taħdem jekk int ma jinbidlu l-URL? Hija biss tiddependi fuq fejn id-data hija għaddej. Għalhekk il-kwistjoni hija tista 'talbiet Ajax jkun POST jew IKOLLOK? Li fejn jista 'jkun jew. Huwa biss verament differenza semantika bejn POST u IKOLLOK. IKOLLOK tipikament ifisser li int biss qari xi ħaġa mill-server u int ma jinbidel xejn, billi POST tipikament jimplika li int tikteb data jew int bil-miktub xi ħaġa li server. Spiss tuża POST meta inti qed tipprova bidla istat x'imkien. C'est pourquoi logins dejjem tmur ma HTTP POST, billi Google jagħmel mazz ta 'talbiet IKOLLOK. Fil-fatt, jekk immorru lura għall-eżempju Google tagħna u jekk inħarsu lejn għodod iżviluppatur tagħna hawn, ejja nħarsu lejn l-għodod iżviluppatur hawn fil-qiegħ u jiftħu n-netwerk. Kif aħna tibda ittajpjar, tista 'tara kollha ta' dawn IKOLLOK talbiet ġejjin pulzieri Tara kollha dawn it-talbiet wasalt hawn fil-qiegħ ta l-iskrin li huma kollha ta 'dawn XJS. Din hija talba Ajax ġejjin lura. U jekk konna biex ikklikkja fuqha, nistgħu naraw dak li kien qal u dak ir-rispons tagħha huwa. Huwa tagħtina din l-informazzjoni kollha dwar ir-rispons li sirna meta aħna mibgħuta lill-Google-intestaturi li kienu stabbiliti hawn. Ejja naraw jekk għandu - Huwa se jkollhom string mistoqsija tagħna x'imkien. URL talba. Yeah. Mistoqsija oriġinali, jinjora mistoqsija ħażina, it-tieni pass, kif I meter - Xorta waħda, x'imkien fil hawn tista 'ssib dan "kif I meter" query fit-talba magħmula lill-server. U allura l-rispons ġejjin lura huwa dak li aħna qed tara. Allura iva, jista 'jkun jew IKOLLOK jew POST. Hemm tendenza li jkun biss differenza semantika. Nistgħu tkopri li ma HTTP. Iva, Ella? [Student] hija d-differenza bejn JSON u XML biss li JSON hija aktar modern? Hija d-differenza bejn JSON u XML li JSON hija aktar modern? XML u JSON huma biss 2 modi differenti ta 'data ta' kodifikazzjoni. XML huwa l-eXtensible Markup Language. HTML hija sottosett ta 'XML. Hekk per eżempju, ejja iġbed up TextEdit. XML huwa biss definit bħala data thats magħluqa f'serje ta 'tags. Allura html, / html, dawn guys huma tags validi. Ejja blow up dan id-daqs hawn u jagħmilha aktar leġġibbli. bonjour! XML biss jiddefinixxi tag bħala xi ħaġa bħal din fejn għandek parentesi angolu miftuħ, l-isem tat-tikketta, u mbagħad kull numru ta 'attributi, li fil HTML aħna ħafna drabi ma jkollhomx l-attributi. Iżda per eżempju, jekk kellna tag iskript, ħafna drabi għandha l-tip ta 'test, JavaScript. U ġewwa tal-lametti hija data. Fil XML veru inti tista 'attwalment tiddefinixxi dawn it-tags li tkun xi tkun trid. Huwa biss mod ta 'strutturar informazzjoni tiegħek. Hekk per eżempju, jekk jien ridt li jikkodifikaw familja tiegħi fil XML, I tista 'tagħmel xi ħaġa bħal din, bħal missier u mbagħad titqiegħed informazzjoni dwar lilu u ħuh u l-informazzjoni mqiegħda dwar my brother. Just dan il-mod ta 'strutturar data tiegħek huwa XML. JSON, min-naħa l-oħra, isegwi l-Notazzjoni Għan JavaScript, għalhekk J-S-O-N, JSON. Allura minflok bil-miktub ma 'dan it-tip ta' lametta, qrib format tip tikketta, aħna minflok jiktbu bħala oġġett JavaScript. Allura l-oġġett JavaScript għandha l-Brace kaboċċi biex tiftaħ affarijiet u mbagħad Brace kaboċċi li tagħlaq affarijiet. Let me zoom out ftit, zoom pulzieri U allura dak li għandek huma l-ismijiet ta 'oqsma, hekk "missier": u mbagħad I tista 'tpoġġi l-informazzjoni dwar lilu u mbagħad "ħuh": u informazzjoni dwar my brother. U ovvjament kollox hawnhekk huwa - I raden x'hemm sbieħ dwar JSON kuntrarju XML huwa għaliex oġġett JSON huwa dan l-oġġett notazzjoni li JavaScript għandha. JavaScript jistgħu verament faċilment pull fil-memorja u titratta dan biss bħala oġġett JavaScript dritt meta inti tirċievi lura mill-server. M'hemm l-ebda parsing li verament trid tagħmel hu heavy duty jew irfigħ, billi ma XML għandek tuża jew plugins jew xi tip ta '- Jiddependi fuq dak eżattament li qed tittrasmetti u dak li inti qed tuża biex jirċievu l-XML, inti jista 'jkollok tagħmel ftit aktar parsing xogħol, billi dan il-għalf JavaScript, jekk int biss bil-miktub bi JavaScript u int tirċievi JavaScript lura, huwa verament faċli li jaħdmu magħhom. Il-ħaġa oħra li n-nies ser isemmu wkoll kultant hija li ma XML inti għandek kollha ta 'dawn tags miftuħa u tikketti qrib, għalhekk tista 'tikseb kbira, jistgħu jiksbu ftit minfuħ. Allura hemm xi wħud li se jitkellmu dwar kif ma JSON inti ma għandekx dawn tags miftuħa u tikketti qrib, dan huwa aktar ikkompressat. Ir-raġuni li li l-importanti huwa li meta inti għandek tagħbija affarijiet fuq in-netwerk meta inti qed jitkellem ma 'server remot, l-inqas li jeħtieġ li jiġu trażmessi fuq l-Internet, il-kollox aktar malajr tmur. Xorta waħda, l-takeaway prinċipali hawnhekk hija li huma biss 2 modi differenti ta 'strutturar data tiegħek, ifformattjar data tiegħek. Id-dritt. Mistoqsijiet oħra? Charlotte? [Student] Nista 'nitlob 1 aħħar mistoqsija dwar il-sintassi ta' Ajax? Sure. [Student] Jekk inti tmur lura għall-kodiċi eżempju u biss zoom out ftit, hemm biss 1 linja tal-kodiċi hawn fuq. Nistgħu biss tmur up? fuq ("keyup", il-funzjoni () Huwa sett ta 'parentesi vojta wara fuq ("keyup" jirreferi għall-funzjoni wara suċċess? [HARDISON] No A ftit affarijiet hawn. fuq ("keyup", dan huwa mod ta 'kif isir l-ekwivalenti Scratch tal meta wieħed jagħfas buttuna u inti lift up off taċ-ċavetta. Attwalment, fl JavaScript għandek fuq ("keydown", fuq ("keyup", u fuq ("keypress", u inti tista 'tagħmel affarijiet fuq kull wieħed minn dawk 3 avvenimenti differenti. Dan huwa tirreġistra avveniment handler kwalunkwe ħin ċavetta taqa up, u allura din il-funzjoni huwa dan ħaġa sħiħa it-triq kollha sa hemmhekk. Din il-funzjoni ma jkollux isem. Tip ta 'stramb. Il-funzjonijiet kollha tagħna aħna ghamilt fis-C u PHP kollha kellhom ismijiet. Dan hu dak li nsejħu funzjoni anonimu. Jagħmel sens, id-dritt? Ebda isem. Anonima. X'hemm handy dwar il-funzjoni anonimu? Ovvjament, ma nistgħux sejħa din il-funzjoni imkien ieħor fil-kodiċi tagħna. Kif nitolbu din il-funzjoni x'imkien ieħor fil-kodiċi tagħna? Ma nistgħux. M'hemm l-ebda isem. Ma nistax ngħid, "Oh yeah, sejħa dik il-funzjoni li għidt mal fuq (" keyup "." X'hemm handy dwar dan hija li għalkemm fl JavaScript meta aħna qegħdin kontinwament jirreġistraw dawn handlers avveniment - dak hu li dan jissejjaħ; int tirreġistra din il-funzjoni bħala handler meta prinċipali taqa up - huwa tassew sbieħ biex ikunu jistgħu biss jiġu definiti dawn il-funzjonijiet tip ta inline u biss jgħidu, "Meta l-keyup hija ppressata, ftakar din il-funzjoni li jien ser jiddefinixxu dritt hawn, u se tiftakar din il-funzjoni u mbagħad se tagħmel din il-funzjoni kull meta ċ-ċavetta taqa up. Aħna ser jitkellmu dwar dan aktar ladarba inti tikseb aktar fil-programmazzjoni funzjonali. Dan huwa xi ftit ta 'togħma ta' dak fejn aħna qed essenzjalment tgħaddi funzjoni madwar bħala oġġett, kważi daqs li kieku kienu simili varjabbli. Pjuttost milli tgħaddi string jew int, aħna qed tgħaddi funzjoni. Dak it-tip ta 'ħaġa stramb, imma dak sbieħ hija li kollha tal-varjabbli fil hawn, ġewwa ta 'din il-funzjoni, il-kwistjonijiet dwar l-ambitu huma sbieħ għaliex jekk għandek varjabbli up hawn, inti tista 'tirreferi għal dak il-varjabbli ġewwa ta' din il-funzjoni għaliex din il-funzjoni hija dikjarata ġewwa ta 'din il-funzjoni l-oħra. Allura ikollok li jkollhom benefiċċji bħal dik. Għal darb'oħra, dan huwa xi ħaġa li hija aktar meta. Int ser tkopri fil-klassijiet futuri. Yeah. [Student] Peress li l-funzjoni huwa anonimu, jista 'jintuża x'imkien ieħor? Jew tista 'tintuża biss fil-kuntest ta' din il-funzjoni? [HARDISON] Huwa użat biss fil-kuntest ta 'din il-funzjoni. Yeah. Iva? Ma jkollu xi ħaġa li tagħmel mal-fatt li huwa lingwa oġġett orjentati lejn? [HARDISON] Ma jkollu xi ħaġa li tagħmel mal-fatt li huwa oġġett orjentati lejn? Jien ngħid li din għandha aktar ma 'l-fatt li dan għandu aspetti funzjonali. Aħna qed jitkellem dwar il-paradigma oġġett orjentati lejn programmazzjoni, u dan huwa tip ta 'wieħed minn dawk l-aspetti tal-paradigma funzjonali ta' programmazzjoni fejn inti tagħmel funzjonijiet li huma komposti ta 'funzjonijiet oħra u inti tgħaddi l-funzjonijiet madwar. [Student] Hekk JavaScript huwa lingwa funzjoni wkoll. Hija għandha elementi ta 'dan, iva. Yeah. JavaScript u ħafna - PHP għandha wħud mill dan ukoll, Python għandha dan l-istess tip ta 'għalf, Ruby għandha dan it-tip ta 'għalf kif ukoll, u dan huwa komuni aktar minn dawn il-lingwi moderni. Int verament tikseb dawn scripting lingwi li huma tip ta 'jack ta' kull-snajja. Huwa bħall-grassi sikkina big Armata Svizzera, il-wieħed li inti ma tistax anke tpoġġi fil-but tiegħek għaliex dan huwa wiesgħa wisq. Dak it-tip ta 'kif xi wħud minn dawn il-lingwi saru. Kwalunkwe mistoqsijiet oħra? Kull dritt. Kif inti guys tħossok? Ejja ħa mmorru lura għal dak kwizz tassew mgħaġġla u ara jekk nistgħu twieġeb 21 u 20. Tkellimna dwar 20 kif aħna reġistrat dan handler. Din il-kwistjoni hawnhekk, "Liema jkun l-effett jekk aħna kiteb dik il-linja ma 'par ta' parentesi?" inti tara d-differenza, kif fil-quċċata hemm l-ebda parentesi u stabbiliti hawn hemm parentesi wara l-isem funzjoni? Ħaġa waħda li hija importanti li wieħed jinnota, hawn aħna qed jirreferu għal funzjoni. Din mhix funzjoni anonimu. Huwa ġie mogħti l-isem, handler, billi fil Ajax tagħna hawn fuq li konna biss tħares lejn, kollha tal-funzjonijiet li konna tgħaddi madwar kienu kollha anonimi: ebda isem funzjoni, ebda isem funzjoni. Għalhekk huwa prattika komuni li jiddefinixxu dawn il-funzjonijiet tip ta inline funzjonijiet anonimi għal xi wħud mill-benefiċċji scoping. Inti tista 'tajjeb ħafna definiti din il-funzjoni dritt hawn jew dan fuq (funzjoni "keyup". Inti tista 'tkun iddefiniet dan Guy bħala funzjonijiet bl-ismijiet x'imkien ieħor fil-kodiċi JavaScript tiegħek, u mbagħad minflok jiddefinixxi l-funzjoni hawn, inti tgħaddi l-isem tal-funzjoni dritt f'dan il-post. Ħaġa waħda li wieħed jinnota li inti ma tkunx tixtieq li tuża l-parentesi jekk inti kienu jgħaddu l-isem tal-funzjoni, għaliex meta inti tuża l-parentesi, int li jimplika "sejħa din il-funzjoni," billi minflok here we biss jixtiequ jgħaddu l-isem tal-funzjoni. Jekk inħarsu lejn x'inhu għaddej hawn, id-differenza kbira hija li din il-linja ta 'fuq tal-kodiċi jgħid effettiv, iżommu pointer għall-funzjoni msejħa handler, u meta l-sejħa Ajax tikkompleta, sejħa din il-funzjoni, attwalment twettaq il-funzjoni, plug fl-argumenti, do kollha ta 'dak ix-xogħol, billi din il-linja stabbiliti hawn jgħid minflok żamma ta 'werrej għall-funzjoni msejħa handler, qasam onreadystatechange se jżommu r-riżultat ta 'funzjoni msejħa biex handler, hekk li għaddej biex jevalwaw handler, li għaddej biex attwalment sejħa handler dritt issa - mhux meta l-sejħa Ajax tikkompleta iżda issa dritt, li ma jkunx dak li inti trid tagħmel jekk int bil-miktub xi ħaġa biex jittrattaw ma 'sejħa Ajax li komplut. Id-dritt. Mistoqsijiet dwar dan? Huwa differenza sottili. Huwa differenza sottili. Ħaġa waħda Nixtieq definittivament jissuġġerixxu tagħmel jekk int ma jsir dan - għaliex dan huwa Jittieħed ġdida; hija tieħu filwaqt li din verament sink fil sakemm inti fil-fatt tip xi wħud minn dan Jittieħed out - I d ninkoraġġukom biex tmur permezz tal-kodiċi tas-sors li Tommy ppreżentat lecture nhar l-Erbgħa għaliex huwa definittivament marru permezz ta 'lott ta' għalf, it-tip ta 'fil-ċċajpar. I d fatt jipprovaw ittajpjar it out. Ipprova kodifikazzjoni xi għalf up. Agħmel. JS fajl. Tip il-kodiċi yourself. Ma biss kopja u paste. Ma biss run CP. Ipprova tagħmel dan biss biex tip ta 'flex JavaScript muskoli tiegħek. Ara dak l-affarijiet huma. Per eżempju, hawn jien tħares lejn quote7.js fil-kodiċi tas-sors minn lecture Erbgħa. Tipprova tmur fi u minflok sempliċiment tagħmel kollha ta 'dawn il-funzjonijiet anonima, Kopja ta 'din il-kodiċi, litteralment jinżlu għal dan il-kodiċi suċċess, Kopja ta 'din, paste fil funzjoni oħra, u tagħtiha isem, u mbagħad jippruvaw jgħaddu l-isem fi u tara x'jiġri. [Student] Li jista 'jkun fajl separat jew fl-istess fajl? Dan jista 'jkun fil-fajl separat jekk inti jinkludu kif suppost. Ħaġa waħda li għaddej biex tkun - Il-trick huwa ma din il-funzjoni tirreferi għal kwalunkwe mill-varjabbli li huma barra ta 'dan? U naħseb li jirreferi biss għal rispons. Yeah. Tista 'isem dan. Inti tista 'pull it out, inti tista' tagħtiha isem, u allura inti tista 'tgħaddi l-isem fil hawn. So I d jagħti li jipprova, tara kif dan jaħdem. Id-dritt. Mistoqsijiet? Mistoqsijiet? I imħabba mistoqsijiet. I do not know dwarek guys, iżda I simili. Kif inti guys tħossok dwar dan? Hemm tip ta 'dan, "Oh, ħażin" burdata fil-kamra. [Studenti chuckle] Huwa dan it-tip ta 'kif inti guys qed tħossok? [Student] Yeah. Yeah? Iva, Daniel? [Student] I think I jifhmu tip tal-kunċetti ġenerali li qed jitkellem dwar, bħall-funzjonijiet anonimi u dan kollu Jittieħed, imma jien ma jifhmux nofs il-sintassi thats up hemm dritt issa, bħal dak ul-mezzi, Li, dawn it-tags differenti. Ma naħsibx I d jkunu kapaċi kodiċi xi ħaġa ma JavaScript. Fair. Huwa li tħossok komuni, sentiment komuni, li ħsejjes simili? Okay. [Student] ser ikollna bżonn li? Aħna se bżonn għall-kodiċi? Inti għandek tkun ippreparata biex jaqsam xi ħaġa bħal din, nixtieq ngħid. Jien mhux l-waħda bil-miktub l-eżami, imma jien kieku zgur ngħid li jekk dan huwa sentiment komuni, tip ta 'li ħafna ta' dan sintassi hawn Dehra, "Dak l-infern li qed jiġri?" "Jien totalment għawm," allura ejja nitkellmu dwar dan u jiffissaw dak. Ħoss tajba? Kull dritt. Allura x'inhu għaddej hawn? Ejja tieħu din il-linja b'linja. Ejja tipprova tmur madwar il-kamra. Jien biss ser sejħa fuq in-nies 1 minn 1, u jagħtu me raden tiegħek aħjar. Aħna ser tagħmel dan malajr. You ħadthom ltqajna 5 sekondi għal tweġiba. Jekk inti ma tingħata risposta, nimxu lill-persuna li jmiss. U mhuwiex big deal għaliex naf li dan huwa Jittieħed crazy. Aħna ser tibda fuq hawn. Charlotte, dak ma din il-linja do? [Student] Huwa joħloq varjabbli imsejjaħ suġġerimenti u l-istabbiliment huwa ugwali għal dak kollu ul hu. [HARDISON] Dritt. Jimmy, x'inhu ul? [Student] I do not know. [HARDISON] Okay, berred. Charlotte kien totalment id-dritt. Din il-linja tal-kodiċi li stajt enfasizzat dritt hawn tiddikjara varjabbli imsejjaħ suġġerimenti, varjabbli JavaScript. Imxejna ltqajna dan il-keyword var quddiem li tiżgura li l-varjabbli soġġorni lokali l-iskop li huwa pulzieri U dan ħaġa ul li ma rajniex qabel verament, ejja ara jekk hemm tajba - Let me jaqilbu lura għall iPad tiegħi. Paġna ġdida. Jien ċert li inti guys raw l-ul qabel. Huwa ta 'lista unordered. Allura qatt dehru fuq paġna web fejn inti għandek l-balal u inti għandek Thing 1, ħaġa 2, u hekk u ibqa 'sejjer hekk? Din hija lista unordered. Il-mod kif inti kodiċi dan HTML huwa youd tibda ma 'tag miftuħ li jiftaħ il-lista unordered, youd qrib ma tag qrib li tagħlaq il-lista unordered, u mbagħad fin-nofs youd għandek lista ta 'oġġetti, li. U ġewwa l-tal-Li se jkun it-test li juri, hekk Thing 1 u Thing 2. Imbagħad aħna'd qrib tags oġġett lista tagħna. Listi unordered huma super komuni għaliex dan huwa mod tajjeb ħafna biex jiksbu l-istess grafika applikati għal ringiela ta 'affarijiet. Mela jekk inti tfittex fil, per eżempju, il-pset 7 kodiċi, lott tal-pilloli nav, il-pilloli ta 'navigazzjoni li kienu użati għall-konnessjonijiet differenti li Buy, Biegħ, Quote, Storja, kollha ta 'dan, dawk li huma implimentati bħala listi unordered, u huma użati CSS biex jitneħħew dawn il-punti bullet u tip ta 'affarijiet bidla madwar ftit. Dik hija l-tip tal-qawwa tal-CSS huwa li l-HTML jiddeskrivi l-istruttura. Imxejna ltqajna lista ta 'oġġetti lista. Huwa unordered. M'hemm l-ebda l-ewwel, it-tieni, jew it-tielet. Huwa biss lista. U għalhekk awtomatikament se tiġbed biss mal-balal. Jekk aħna minflok kien kiteb ol, hekk jien se jibdlu dan għal lista ol bħala kuntrarju għal ul, dak li li tagħmel? Ikun teħles minn dawn balal, u l-default minflok tkun lista numerat għaliex issa konna ltqajna tordna. Il-grafika tal-lista mbagħad dak li inti play madwar fl CSS, u li fejn l-folks li kiteb il-librerija bootstrap għal CSS lagħbu madwar ma 'l-grafika ta' lista unordered biex tiksbu biex juru dawk il-pilloli sbieħ nav ftit. Jekk inħarsu lejn Google, per eżempju, ejja tagħti ħarsa lejn dan Guy. Back to "kif I meter ommok" - tip ta 'ħsejjes Ġermaniż. I love Ġermaniż. Hija ħsejjes hekk gost. Jien sorry jekk ikun hemm xi folks Ġermaniż jaraw li jħossu offiż. Xorta waħda, jekk inħarsu lejn dawn il-links up here fil-quċċata u nħarsu lejn dak li għaddej hemmhekk, nistgħu jispezzjonaw jużaw dan Guy. Jien mod stabbiliti hawn fil-kantuniera. Għodod iżviluppatur fuq Chrome huwa tal-biża. Jekk inti guys jibdew jilagħbu madwar magħha jew tfittex up tutorials għal dan, hija se tgħin ħafna jekk int tagħmel proġetti web-based. I ikklikkja ispettur tiegħi ftit. Jien ser iscroll back up here. Jien ser tara liema dawn guys kollha huma. I zoom pulzieri jien ser ikklikkja fuq dawn. Imbagħad I jistgħu zoom lura out u ara dak li attwalment huwa fil-mod HTML stabbiliti hawn. Jidher qisu Google nested fl-istess lista ordnat. Allura konna ltqajna dan il-medda li tgħid + You, u thats nested ġewwa tag ankra, b'tali mod li dak li jagħmilha clickable u torbot lill-paġna Google tiegħi. Huwa nested ġewwa partita lista, u huwa nested ġewwa din il-lista ordnat. U issa jekk I attwalment ikklikkja l-oġġett lista, se tenfasizza dan għalija up hemm. Jekk I jenfasizzaw il-lista unordered, tara kif l-attenzjoni tmur fil-quċċata. Ma jibqax up u turi lili l-lista ordnat kollu. Allura Google għadha kif lagħbu madwar il-grafika li tikseb dawn il-listi juru up bħal dik. Dak gost biżżejjed ma 'listi. Lura għall-kwizz jew dan il-għalf. Issa nafu liema lista unordered hu - nisperaw. Ejja nitkellmu dwar din il-linja li jmiss ta 'kodiċi, għal (i var fil response.symbols). Ella. [Student] Għandi l-ebda idea. [HARDISON] Nru idea. Okay. Inti stajt tidher a għal loop qabel, I jippreżumu. [Student] Yeah. [HARDISON] Do you remember tagħmel għal kull wieħed fil-PHP? [Student] Iva. [HARDISON] Dan huwa eżattament dan. Dan huwa għal kull linja fil-JavaScript. Dan huwa mod iqsar milli tagħmel il għal (var i = 0; i