[CHWARAE CERDDORIAETH] DAVID Malan: Mae hwn yn CS50. Mae hyn yn dechrau'r wythnos naw. Ac mae hyn yn beth y byddai'n rhaid bod yn ben-blwydd Mr Boole yn 200. Felly, mae hyn yn y cymrodyr i bwy yr ydym wedi crybwyll cryn dipyn o amser am ddefnyddio Newidynnau boolaidd gwir a gau, 1 a 0 ac o'r fath. Ac roedd Google hon teyrnged iddo heddiw. Byddai wedi troi 200. Felly, os hoffech chi ymuno â ni am ginio CS50, yn edrych ar y cysylltiad ar wefan y cwrs. A wynebau a ffrindiau fel mae'r rhain yn aros i chi yma yng Nghaergrawnt. Wynebau fel y rhain i chi aros yn New Haven. Ac, mewn gwirionedd, Ken yn New Haven a wnaed yn garedig yr hyn a elwir yn GIF animeiddiedig Eli yma mewn diweddar lunch-- mae GIF eto fformat ffeil graffigol arall, ydych chi ag ef familiar-- hynny yn edrych yn rhywbeth bach fel hyn. Felly, dim ond dilyniant o- OK. Nid oes unrhyw un yma yng Nghaergrawnt yn chwerthin. Ond yn New Haven, mae hyn yn yn wirioneddol ddoniol, dde? Iawn. Felly peidiwch ymuno â ni yno. Yma yn Harvard, yn benodol, dydd Mercher hwn, os ydych yn sophomore neu freshman even-- neu hyd yn oed feddwl junior-- o wneud switsh i mewn i gyfrifiadur gwyddoniaeth, yn gwybod bod yna chi helpu gael i CS cynghori teg hwn Dydd Mercher, yn fuan ar ôl y dosbarth am 4:00 pm yn cyfrifiadur adeilad gwyddoniaeth Maxwell Dworkin. Byddwn yn rhoi hyn ar y cwrs yn gwefan erbyn yfory, yn ogystal. Toesenni, rwy'n gwybod, yn cael ei gyflwyno. Iawn. Story-- mor ddoniol oeddwn yn procio o gwmpas ar y rhyngrwyd, ac yr wyf yn dod o hyd rhai hen archifau fy hen wefan. Ac mae'n troi out-- o gwmpas hyn amser, mae'n ymddangos yn amserol iawn ers i mi yn casglu bod yr etholiadau UC ar fin gêr i fyny eto. Felly, yr wyf yn rhedeg am UC, a gollwyd druenus. Ac efallai roedd hyn yn rhannol pam. Felly roedd hyn yn fy ngwefan ar y pryd. Am ryw reswm, yr wyf yn meddwl ei fod yn yn syniad da, cyn dweud wrth bobl beth yw fy llwyfan oedd a pham eu bod Dylai bleidleisio i mi, bod ganddynt i glicio i fynd i mewn i gael gwybod bod gwybodaeth, sy'n edrych yn ôl yn math o creepy. Dydw i ddim yn gwybod beth oedd. Ond yn sicr nid oedd yn helpu fy ymgyrch. Yr wyf yn darganfod hefyd bod gan uwch year-- Roedd gen hon calendr Muppet. Roedd Muppets fath o yn ffasiynol bryd hynny. Neu efallai nad oeddent. Roedd gen i galendr Muppet bryd hynny. Ac yr wyf yn meddwl y byddwn fod yn cŵl i enwi fy nghyfrifiadur ar rwydwaith Harvard frogman.student.harvard.edu. Ar y pryd, yr ydym i gyd wedi unigryw enwau llu adnabyddadwy. A allech chi ddewis rhai wagedd enwi yn lle eich enw ei hun. Ac fe es gyda frogman am ryw reswm. Ac yna yr wyf yn started-- Treuliais lawer o amser glicio trwy'r cysylltiadau hyn y bore yma. Ac roedd hyn yn fy dudalen am, sydd bellach yn ymddangos yn fath o annwyl. Ond mae hefyd yn tystio i ychydig pa mor bell technoleg wedi dod. Yr wyf yn golygu, yn ôl yn y dydd, mae 486 yn rhywbeth. Y dyddiau hyn, mae'n super, super, super araf ac yn iach yn llai na allai fod gennych yn eich pocedi eu hunain y dyddiau hyn. Mae rhagor o wybodaeth am yno y Roedd hyd yn oed yn fwy embaras. Felly byddaf yn gadael ar hynny. Ond dyna oedd fy cyntaf fentrais i'r web-- oh, dim. Nid dyna oedd. Fy ymgais cyntaf go iawn i mewn i raglenni ar y we Roedd y safle hwn, yr wyf newydd anghofio. Ar ryw adeg, yr wyf yn dysgu sut i wneud delweddau cefndir ailadroddus. Ac felly yr wyf yn dod o hyd i teils hon yn effeithiol, fel chwaraewr hoci, pêl-droed, a golff pêl, neu beth bynnag mae hynny'n ar gyfer gwefan Frosh IMS. Ac roedd hyn yn mewn gwirionedd, yn wirioneddol y prosiect ar y we cyntaf i mi gymryd on-- Yr wyf yn meddwl efallai sophomore flwyddyn, year-- iau ar ôl cymryd CS50 a CS51, un o'r dosbarthiadau dilynol gyffredin. Sylwais wrth edrych drwy'r archifau mai un o fy olynwyr a ffrindiau, Lee, math o newid yr hawlfraint i ei hun. Ond roedd hyn yn wir yn rhywbeth y Dylai Rwyf yn berchen ar yr embaras i. Ond ar y pryd, mae hyn oedd y wefan gyntaf, fel y dywedais rai wythnosau yn ôl, erbyn pryd y gallai freshman gofrestru ar gyfer chwaraeon rhyngfurol yma. Ac felly mae'n troi allan bod delweddau cefndir fel hynny ddim yn syniad da. Ond mae'r we yn newydd, ac roeddem i gyd arbrofi. Ac mae hyn yn hyn yr wyf yn mae'n debyg y gwnaeth ar y pryd. Iawn. Felly, heb ado pellach, rydym yn newid yn paratoi heddiw i roi i chi, mewn gwirionedd, y darn olaf y gallech ddod o hyd arbennig o ddefnyddiol ar gyfer prosiectau terfynol ond hefyd a fydd yn dechrau wneud y we byd i gyd eang teimlo ychydig yn fwy dealladwy. Yn wir, rydyn ni'n mynd i gyflwyno un yn fwy iaith rhaglennu Gelwir JavaScript sy'n debyg a gwahanol mewn ffyrdd gwahanol o ieithoedd rydym wedi edrych ar hyd yn hyn. Felly C, galw i gof, yn yr iaith hon llunio. Mae'n rhaid i chi redeg drwy compiler. Byddwch yn cael cod ffynhonnell i wrthwynebu cod, neu sero a rhai. A'r rhai yn sero a'r rhai sy'n eich CPU, Uned Brosesu Ganolog, mewn gwirionedd yn deall. PHP, mewn cyferbyniad, nid yw iaith a luniwyd. Mae'n beth? Mae'n iaith dehongli. Felly mae rhywfaint o raglen Gelwir cyfieithydd y Mae darllen iddo-- top i'r gwaelod, o'r chwith i'r right-- a chyfrif i maes beth i gyd eich cystrawen yn ei wneud ac yn golygu, boed yn dolen neu gyflwr neu unrhyw nifer arall o raglenni yn adeiladu. Felly dyna iaith dehongli. Yna, fe wnaethom gyflwyno HTML. Ac nid HTML hyd yn oed iaith raglennu. Byddem yn ei alw'n beth? Mae iaith marcio, sydd ychydig rhyw fath o ffordd ffansi o ddweud ei fod Nid oes rhaid rhaglennu cysyniadau fel gwelsom hyd yn oed yn ôl yn y dydd y Scratch. Nid oes unrhyw dolenni. Nid oes unrhyw amodau. Mae wir yn iaith am farcio i fyny eich data a fformadu neu strwythuro mewn rhyw ffordd. CSS, yn y cyfamser, yn yr un modd Nid yw iaith raglennu. Mae hyd yn oed wedi oriented fwy esthetaidd. Ac mae'n eich galluogi i ddidoli o mân-dôn pethau fel maint a lliw ffont a lleoliad a hynny i gyd. Yna rydym yn cael SQL. Felly SQL yn wir yn rhaglennu iaith mewn rhai ystyr, er deilwra yn benodol i gronfeydd data. Ond er ein bod dim ond yn eich cyflwyno i dethol a mewnosod a dileu a diweddaru ac un neu ddau o bobl eraill, troi allan y gallwch mewn gwirionedd ysgrifennu swyddogaethau neu gweithdrefnau, gan eu bod nhw'n gelwir, yn SQL sy'n edrych ac yn gweithredu yn eithaf tebyg i swyddogaethau PHP a C. Felly yn gwybod bod hynny'n bodoli. Ond nid ydym hyd yn oed yn trafferthu â nhw fel yr ydym newydd crafu wyneb yma. Ac yna JavaScript, yr olaf o ein ieithoedd a gyflwynwyd yn ffurfiol. Felly JavaScript, hefyd, yn iaith dehongli. A'r rhai cyfarwydd, yn ei wneud rydych am ei wahaniaethu gyda rhai nodwedd o'r ddau C a PHP? Beth sy'n ei gwneud yn wahanol? GYNULLEIDFA: Nid yw'n llunio. DAVID Malan: Dweud eto? GYNULLEIDFA: Nid yw'n llunio. DAVID Malan: Nid yw'n llunio. Felly, hefyd, yn cael ei ddehongli. Felly, nid yw'n llunio. Ond mae hynny'n ei gwneud yn ychydig fel PHP. Ond mae'n dal i fod yn wahanol i PHP mewn rhyw ffordd drawiadol, o leiaf yn y ffordd y byddwn yn ei ddefnyddio. Yeah? GYNULLEIDFA: Mae'n rhedeg ar ochr cleientiaid. DAVID Malan: Mae'n rhedeg ar ochr cleientiaid, fel arfer. Dyna wir y gwahaniaethu nodweddiadol i ni ar hyn o bryd. C yn-ochr y gweinydd yn yr ystyr ein bod yn gwneud popeth yn IDE CS50. PHP hyd yn hyn wedi bod yn ochr y gweinydd, i'r graddau gan ei fod, hefyd, yn cael interpreted-- Nid yw llunio, ond interpreted-- y tu mewn CS50 IDE, sydd wrth gwrs yn dim ond gweinydd neu weinyddwyr yn y cwmwl. Ond JavaScript, hyd yn oed er eich rydych yn mynd i ddechrau ysgrifennu am, dyweder, pset wyth ac efallai terfynol projects-- eich bod mynd i'r dde i mewn IDE CS50 a'i gadw mewn ffeiliau o fewn IDE CS50, CS50 IDE ac, yn ei dro, y gweinyddion cwmwl y mae'n ei gynnal, nid yn mynd i ddehongli neu weithredu eich cod. Yn hytrach, mae'n mynd i gael eu hanfon mewn ffurf heb ei newid i lawr i'r porwr. Ac mae'n wedyn yn mynd i fod IE neu Chrome neu Firefox neu Safari neu beth bynnag sy'n dehongli mewn gwirionedd iddo, top i'r gwaelod, chwith i'r dde. Felly mae'r gwahaniaethu allweddol nodweddiadol ar gyfer heddiw yw bod JavaScript yn ochr cleientiaid a PHP, er enghraifft, wedi bod ochr y gweinydd. Yn awr, mae gan hyn oblygiadau diddorol ar gyfer, fel, eiddo deallusol ac sy'n gallu mewn gwirionedd yn gweld eich cod. Ac yn wir, gallwch fynd ar y we ac yn gweld y rhan fwyaf o unrhyw god bod gan rywun ysgrifennwyd yn JavaScript. Weithiau mae'n ddarllenadwy, Weithiau mae'n obfuscated. Ond yn fwy am hynny maes o law. Felly JavaScript, yn ddigon 'n glws, yn super debyg, syntactically, i C. A llawer fel PHP, does dim brif swyddogaeth. Os ydych am ddechrau ysgrifennu Cod JavaScript, fel y byddwch yn gweld heddiw, 'ch jyst dechrau ysgrifennu arno. Ond y mae, byddwch yn gweld, yn enwedig ddefnyddiol yng nghyd-destun borwyr gwe. Fodd bynnag, mae fy bach disclaimer-- fel arfer earlier-- oedd i ddweud eich bod yn gallu cynyddol defnyddio heddiw JavaScript ochr y gweinydd ddefnyddio fframwaith ffansi enw Node.js bod rhai o'r ceisiadau CS50 ei hun yn cael eu hysgrifennu mewn. Gwiriwch 50 mewn gwirionedd yn defnyddio Node.js. Ond rydym yn mynd i ganolbwyntio ar JavaScript ar ochr cleientiaid yma ar y tu allan. Felly dyma yn set o amodau yn PHP. Mae'n ddrwg gennym, in-- mewn gwirionedd, bod datganiad, hefyd yn gywir. Dyma hefyd set o amodau yn JavaScript. Syntactically, mae'n union yr un fath i C ac at PHP. Ymadroddion Mr. Boole yw, yn yr un modd, syntactically union yr un fath i'r ddau C a PHP. Mae gennym hefyd switshis mewn JavaScript sy'n edrych yn union yr un fath. Gennym ar gyfer dolenni sy'n strwythuro'n union, tra dolenni, wneud tra dolenni. Mae hyn yn un ychydig yn wahanol. Roedd gan y PHP ar gyfer pob lluniad y gallech fod yn defnyddio neu y bydd yn eu defnyddio yn pset saith, efallai. Mae JavaScript y fersiwn arbennig o ar gyfer lle rydych yn llythrennol yn dweud rhywbeth tebyg am allwedd amrywio o ran gwrthrych, a oedd yn yn ffordd gryno iawn o ddweud, os gen i object-- ac rydym chi helpu siarad am y rhain eto mewn moment-- ac yr wyf am ailadrodd dros yr holl o'r parau gwerth allweddol y tu mewn, Nid oes rhaid i mi chyfrif i maes sut i Mynegai rhifol iddynt gyda sero, un, dau, tri. Gallaf llythrennol ddweud hyn. Ac ar bob iteriad, JavaScript canys mi diweddaru'r allwedd amrywiol i fod y allweddol cyntaf, yna yr allwedd nesaf, Yna, yr allwedd nesaf, yna bydd y allweddol nesaf, ac yn y blaen. A gallaf ei gael yn ôl ei werth drwy drin gwrthrych mewn JavaScript, fel y byddwn yn gweld, fel pe ei fod yn amrywiaeth cysylltiadol yn PHP. Yn wir, os ydych yn lapio yn olaf eich ots o gwmpas yr hyn amrywiaeth cysylltiadol yw yn PHP, gallwch chi feddwl ni am y tro fel union yr un fath i wrthrych yn JavaScript. Ond mae hynny'n dipyn o gorsymleiddio. Araeau yn edrych, yn ddigon 'n glws, union yr un fath at PHP heblaw am un cymeriad. Mae 'na un peth ar goll yma ein bod wedi gwneud yn gweld yr wythnos diwethaf gyda PHP. Beth sydd wedi hepgor? Yeah? Dim arwydd ddoler. Felly, rydym yn ôl i mwy byd normal lle Nid newidynnau oes gan arwyddion ddoler. Ond rydych yn ei wneud yn eu rhagddodiad gyda var, fel arfer. Ac mae var golygu amrywiol. A llawer fel PHP yn llac typed-- lle mae mathau, mae niferoedd a llinynnau a fflotiau ac yn y blaen forth-- Mae JavaScript mathau yn yr un modd. Ond mae'n deipio llac yn ein bod yn y Nid oes rhaid i rhaglenwyr i nodi iddynt. Dim ond rhaid i ni fod yn ymwybodol bod gwahanol fathau bodoli. Newidynnau, meanwhile-- dyma sut efallai y byddwn yn datgan "helo, byd" fel llinyn. Hysbysiad ei fod yn union yr un fath PHP ond dim arwydd doler. Ac mae hyn yn rhywbeth yr ydym fe yn dechrau gweld mwy o heddiw, lle mae gennych gwrthrych gydag allweddi a gwerthoedd. Ac os ydych am roi cynnig i gasglu o week-- diwethaf y gystrawen yn ychydig yn wahanol. Ond ychydig o bwyll check-- faint o allweddi yn y gwrthrych yn ymddangos i gael? Felly, yr wyf yn gweld pedwar. Rwy'n gweld dau. Felly mae'n mewn gwirionedd dau. Felly, mae hwn yn gasgliad o ddau bâr-werth allweddol. Yr allwedd yw symbol y mae ei gwerth yn FB. Yr allwedd yw pris y mae ei gwerth yn 101.53. Felly, y rhai yn cael eu dau bâr-werth allweddol. A chofiwch, PHP-- ac mae hyn yn eto jyst fath o wahaniaeth cystrawennol. Dyw hi ddim yn bob un sy'n ddeallusol ddiddorol. Efallai PHP wedi ysgrifennu yr un beth â dyfyniad follows--, hafal i. Ac yr wyf yn newid y rhain i cromfachau sgwâr. Ac yna yr wyf yn newid hyn i gair a ddyfynnwyd, "pris." Ac yna nid wyf yn defnyddio colon. Beth wnes i ddefnyddio wythnos diwethaf? Yeah, r hafalnod arrow nodiant ffynci. Ac yna yr wyf yn gwneud yr un peth yma. Yr un peth yma. A dyna i gyd. Felly mae'n iawn os nad yw hyn wedi suddo 'n sylweddol i mewn i gof yn unig eto oherwydd ei fod yn wir yn ddeallusol anniddorol. Mae'n gwahaniaethau jyst cystrawennol. Ond mae'r syniadau yn union yr un fath. Y tu mewn y newidyn hwn dyfyniad yn JavaScript yn gasgliad o barau gwerth allweddol, un ohonynt yw symbol, un ohonynt yw pris. A gallaf gael o gwerthoedd hynny gyda'r chystrawen canlynol. Yn union fel yn PHP, gallwn gwneud rhywbeth like-- adael mi wneud y blwch hwn ychydig yn fwy. Yn union fel yn PHP, gallwn gwneud this-- oh, dammit. Dewch ar. Yn union fel yn PHP-- OK, yr ydym chi helpu defnyddiwch y nodiadau cyflwynydd. Yn union fel yn PHP, gallaf gwneud $ dyfyniad $ dyfyniad ["symbol"], a bydd hyn yn mynd i mi gwerth o "symbol." Yn JavaScript, mae'n mynd i fod yn union yr un fath, lle y gall Fi jyst yn gwneud hyn. Yr unig beth sy'n ar goll yw'r arwydd ddoler. Felly yn ddigon 'n glws, yna, mae nid yw pob bod llawer gystrawen newydd. Felly beth heddiw rydym yn canolbwyntio ar, mewn gwirionedd, yw rhai o'r syniadau a'r ceisiadau. Ac o'r fath y cyntaf cais eich bod efallai wedi gweld os ydych yn deifio i mewn i pset saith eisoes cystrawen hwn. Felly, yn pset saith, os ydych chi wedi gweld neu beidio gweld eto, yn gwybod fod yna ffeil yr ydym yn rhoi chi o'r enw JavaScript config.json-- Gwrthrych Nodiant. Pam? Rydym eisiau gallu i roi i chi templed gyda rhai parau-werth allweddol. Rydym eisiau gallu rhoi rhestr i chi y llu, enw'r gweinydd. Rydym yn awyddus i roi i chi yn dalfan ar gyfer eich enw defnyddiwr ac yn cadw'r eich cyfrinair. Os nad ydych yn gweld hyn eto, i beidio â phoeni. Mwy am hyn yn pset saith [? i'w gweld. ?] Ac wedyn, yn amlwg, rydym am i chi i lenwi'r i-dos oherwydd pan fyddwch yn logio i mewn CS50 IDE, bob un ohonoch gael eich enw defnyddiwr a chyfrinair eich hun. Felly, gallem wedi defnyddio hanner dwsin neu fwy o fformatau ffeil gwahanol. Gallem fod wedi defnyddio ffeil Txt. Gallem defnyddio ffeil CSV. Gallem wedi defnyddio un Ffeil INI, ffeil XML, criw cyfan mwy acronymau sy'n Efallai nad ydych wedi clywed erioed. Mae'n fath o mympwyol ar ddiwedd y dydd. Ond super boblogaidd y dyddiau hyn yn destun fformat a elwir Gwrthrych JSON-- JavaScript Notation-- sy'n edrych fel hyn. Mae'n ychydig yn cryptic, ond sylwi ar y patrymau. Byddwch yn dechrau gyda cyrliog agored Brace, ac rydych yn gorffen gyda'r un. Y tu mewn o hynny yn rhywbeth. Mae'n pâr-werth allweddol. Felly, mae hyn yn wrthrych fy mod gan edrych ar ar y sgrin yma sydd wedi un allweddol, sydd ag un gwerth. Ac yn union casglu bod yn seiliedig ar y patrwm blaenorol, beth yw'r allwedd yma? Cronfa Ddata, y peth i ochr chwith y colon. Yn awr, mae'r gwerth digwydd bod lluosog o linellau y tro hwn. Ond mae'r gwerth dechrau gyda cyrliog Brace ac yn gorffen gyda brês cyrliog. Felly beth fyddech chi'n ei gynnig yw'r math o werth y gronfa ddata? Geiriadur neu, dim ond mwy yn gryno, gwrthrych. Iawn? Mae hwn yn fath o strwythur data y Gall defnyddio strwythurau eraill o fewn ei hun. Felly, os yw hyn holl beth rydym yn alw object-- ac gwrthrych yn unig yw criw o-werth allweddol pairs-- y gwerth y gronfa ddata ei hun yn wrthrych. Mae gwerth y gronfa ddata yn cael criw cyfan o barau gwerth allweddol, mae'r cyntaf ohonynt yn gartref, yna enwi, yna enw defnyddiwr, yna cyfrinair, mae pob un o'i gwerthoedd, yn y cyfamser, mae'n dim ond llinyn diflas mewn dyfynodau dwbl. Felly hyd yn oed os nad yw hynny'n super glir eto, gwybod bod hyn yn unig yw safonol, ffordd eithaf ddiflas o storio data mewn fformat safonol. Ond mae'r camgymeriadau cyffredin chi Gallai gwneud, hyd yn oed mewn pset saith, yn ychydig pethau gwirion, fel os ydych yn ddamweiniol hepgorer y coma yno. Mae hynny'n mynd i arwain at y ffeil nid o reidrwydd fod yn ddarllenadwy. Os ydych yn ddamweiniol hepgor pethau fel y dyfyniadau, nid yw'n mynd i fod yn ddarllenadwy. Felly mae'n fformat ffeil 'n bert nitpicky, ond mae'n un sy'n super cyffredin. Ac rydym yn digwydd i ddefnyddio, hyd yn oed er nad ydych yn defnyddio unrhyw JavaScript fel arall, yn pset saith. Iawn. Felly cofiwch y llun hwn. Rydym yn siarad am, yn HTML, bod gallai'r cod edrych fel hyn. Mae hyn yn y Markup Language HyperText [Anghlywadwy] am ddim ond "helo, byd." Ond yna fe wnaethom gynnig sbel yn ôl, os bydd yn helpu, efallai y byddwch am ddechrau meddwl am hyn eisoes fel coeden. Yn wir, mae'r mewnoliad yr ydym Defnyddiwch dim ond er mwyn darllenadwyedd yn neu er mwyn arddull ar gall y chwith math o yn cael ei gyfieithu i'r goeden hon, lle'r ydych cael rhywfaint o nôd gwraidd arbennig yr ydym chi helpu elwir yn generig ddogfen, isod sy'n yw'r elfen HTML gwraidd neu dag, HTML, sydd wedyn wedi dau plant, pen a chorff. Ac yna yn ei dro, pennaeth deitl. Ac mae teitl werth testun. Ac yn yr un modd â gwerth corff y testun. Felly, os ydych yn ddywediad gyfforddus bod ie, gallech gymryd HTML hwn a thynnu llun yn hoffi hwn, mae'r ochr dde yn fodel meddyliol 'n glws oherwydd erbyn hyn bod gennym JavaScript, mae rhaglennu iaith y gall porwyr gweithredu a dehongli ar eich rhan, mae'n troi allan bod yr hyn rydym chi ar fin ei wneud mewn cod yn dechrau i drin hwn strwythur coeden er cof. Nid oes rhaid i ni adeiladu y goeden yn y cof. Nid oes rhaid i ni wneud rhyw fath o strwythur data pset-pump-arddull cymhlethdod. Mae'r porwr, yn ddigon 'n glws, ar dehongli HTML top i'r gwaelod, chwith neu i'r dde, yn llythrennol yn mynd i llaw i ni yr hyn sy'n cyfateb pwyntydd at y goeden gyfan ar gyfer rhad ac am ddim. Mae'n gwneud holl waith caled. Dyna beth Mozilla ac Afal ac eraill wedi ei wneud i ni. A chyda JavaScript ydym yn mynd i yn gallu rheoli a newid a gwneud bethau diddorol i y goeden, fel arall yn hysbys fel DOM neu Model Gwrthrych Dogfennau. Pa fath o bethau? Wel, mae'n ymddangos fod yn JavaScript, mae ' y rhestr golchi dillad o digwyddiadau a all ddigwydd. Ac nid ydym wedi defnyddio mewn gwirionedd bod gair ers wythnos sero a pset sero pan buom yn siarad am Scratch. Mae'r rhan fwyaf ohonoch mae'n debyg nad oedd yn defnyddio ddigwyddiad yn eich prosiect Scratch. Ond efallai y byddwch yn cofio yr syml Marco Polo enghraifft, ble cawsom ddau sprites, dywedodd un ohonynt, Marco. Mae'r llall ohonynt, yna, ar ôl gwrando a chlywed y digwyddiad, dywedodd, Polo. Os nad yw, mae croeso i chi edrych yn ôl mor bell yn ôl. Ond mae hyn yn unig i ddweud, ac y gallwch math o casglu o enwau'r rhain pethau, JavaScript, mae'n troi allan, yn mynd i roi ffordd i wrando ni ar gyfer y llygoden yn mynd i lawr neu lygoden mynd i fyny neu allweddol yn mynd i lawr neu allweddol mynd i fyny neu onselect onsubmit neu onresizing rhywbeth. Mewn geiriau eraill, mae unrhyw gamau corfforol y gall pobl eu cymryd gyda porwr eich bod yn ei wneud bob dydd, gallwch ysgrifennu cod ar gyfer sy'n gwrando ar gyfer digwyddiadau hynny ac yna gwneud rhywbeth priodol. Er enghraifft, os ydych yn defnyddio Google Maps, beth sy'n digwydd os ydych yn clicio a symud llygoden, fel arfer? Os cliciwch a llusgo? Yeah? Yn union. Mae'r map yn dechrau symud. Felly, gallwch chi fath o weld beth sydd dros yma, beth sydd dros yno. A sut mae Google yn gweithredu hynny? Wel, yn ôl pob tebyg, maen nhw'n gan ddefnyddio un neu ddau o rhain digwyddiad gwrandawyr, un sy'n yn dweud, gwrando am ar llygoden down-- felly pan fydd y defnyddiwr yn gorfforol gwthio ei trackpad neu ei llygoden i lawr. Ac yna rydym yn chwilio am rhywbeth fel symudiad neu ryw ddigwyddiad arall sy'n yn ein galluogi i ddal llusgo. Ac yn wir, llusgo yn yr un modd yn hyn dot dot dot rhestr o ddewisiadau posibl. Felly, mae hyn yn mynd i fod yn bwerus ffordd i ddechrau ymateb i'r defnyddiwr hyd yn oed cyn iddo mewn gwirionedd yn clicio rhywbeth penodol fel cyflwyno. Ond rydym ni'n mynd i gyflwyno mae pynciau cwpl i gyrraedd yno. Ond yn gyntaf, gadewch i bontio i ryw cod gwirioneddol. Felly, yr wyf i'n mynd i fynd yn ei flaen ac yn agor i fyny dom-0, sy'n enghraifft syml iawn yma os wyf chwyddo mewn yn syml Mae mewnbwn hwn yma i mi. Ac yr wyf i'n mynd i fynd yn ei flaen a deipio i mewn "David" ar gyfer fy enw a chliciwch Anfon. Ac yna, er yn fath o rhad, yr wyf yn gael prydlon hwn sy'n pops i fyny sy'n dweud, "Helo, David!" Felly mae hyn yn fath o fel ein "helo, byd" ein bod wedi gwneud dro yn ôl yn C a hyd yn oed mewn PHP oherwydd fy mod i wedi ddeinamig outputted fy enw. Gallaf ei wneud enw rhywun arall yma. Gallwn yn syml newid hyn i, fel, Hannah, cliciwch Cyflwyno. Ac yn wir, y newidiadau a pop-up bach. Yn awr, pop-ups yn un o'r y rhan fwyaf o nodweddion cam-drin o'r we. Ac yn wir, yn ôl yn mae'r atalyddion pop-up dydd ddaeth i ffasiynol oherwydd eich bod Byddai mynd i ryw website-- efallai place-- amheus Byddai hynny wedyn yn sydyn dechrau britho eich sgrîn gyda criw cyfan o pop-ups. Ac felly y gallu hwn i pop i fyny ffenestri o flaen y defnyddiwr Nid yw wedi bod yn arbennig -dderbyniad da gan ddynoliaeth. Felly dyna pam yr ydych yn gweld hyn yn atal peth, a dim ond gwneud hyn yn holl beth hyll. Felly rydym yn mynd i angen ffordd well i annog y defnyddiwr. Ond am nawr, sy'n ymddangos i weithio. Felly, dim ond reddfol, beth ymddangos i fod yn digwydd yma? Yr wyf yn mynd yn ei flaen a chliciwch Anfon, a Yna, rhywbeth sy'n digwydd, yn amlwg. Ond nid yr hyn sy'n digwydd bod yn digwydd wythnos diwethaf unrhyw adeg wyf yn clicio Anfon? Yr hyn nad oedd yn digwydd ar y sgrin? Mae'n ddrwg gennym? Ail-lwytho. Nid oedd y URL yn newid o gwbl. Dywedais hyn yn dom-0, ac rwy'n dal i fod yn dom-0. Fel arfer, byddem yn cael ei newid i rai eraill URL, fel register.php neu debyg. Ond hyd yn oed pan gwrthodaf y peth hyn trwy glicio OK, sylwi bod yr URL aros eu rhoi yn gyfan gwbl. Ac, yn wir, os ydw i'n ychydig yn amheus, gadewch i mi agor i fyny Chrome. Gadewch i mi agor y tab Rhwydwaith. Ac yn sylwi ei fod yn wag ar hyn o bryd. Gadewch i mi fynd yn ei flaen ac yn ailgyflwyno Maria. Does dim traffig rhwydwaith o gwbl. Felly does dim HTTP. Felly yn wir, os wyf yn edrych ar y cod ffynhonnell i this-- gadewch i mi gau'r ffenestr hon ac yn mynd i View Ffynhonnell. Diddorol. Mae'n edrych fel mae rhywfaint tagiau newydd, yn eu plith sgript. Felly, gadewch i ni edrych yn CS50 IDE yn union yr hyn yr wyf anfon at y defnyddiwr. Felly dyma yw-- gadewch i ni canolbwyntio ar y HTML yn unig. Dyma hanner isaf dom-0.html. Ac yn sylwi bod 'i' got deitl, tag pen, tag corff, ffurflen tag. Ond beth yn neidio allan i chi fel yn wahanol, yn enwedig os ydych erioed wedi ysgrifennu unrhyw JavaScript eich hun. Gadewch i mi sgrolio ychydig i'r dde yma. Mae gen mewnbwn, mewnbwn arall ar gyfer cyflwyno. Mae gen i adnabod, sydd yn fath o newydd. Ond rydym yn gweld hyn gyda CSS. Beth arall sydd bendant yn newydd? Yeah? Nice. Iawn. Felly, lle mae'n dweud onsubmit, sylwi ar yr hyn sy'n ymddangos i ddilyn. Mae hon yn nodwedd yn HTML gyfundrefn enwau. Mae ei gwerth yn y llinyn a ddyfynnir yma. Ac mae hyn yn edrych ychydig yn rhyfedd ar yr olwg gyntaf. Dyw hi ddim yn HTML. Nid yw'n CSS. Mae hyn, fel y byddech yn dyfalu, JavaScript. Felly, mae'n ymddangos bod ei adeiladu i mewn i hyn tudalen ar y we yn swyddogaeth o'r enw Cyfarch. A dwi'n casglu bod hynny yn unig am ei fod yn air, cyfarch. Mae'n got an paren agored, paren agos, hanner colon. Edrych fel swyddogaeth C, edrych yn debyg i swyddogaeth PHP. Ac yn wir, mae'n mynd i yn swyddogaeth JavaScript. Yna i ddim yn dychwelyd ffug. Byddwn yn dod yn ôl at hynny mewn dim ond hyn o bryd. Ond lle mae swyddogaeth hon diffinnir? Wel gadewch i mi sgrolio i fyny i frig y ffeil. A hyd yn oed er 'i' linell hir, mae'n gymharol syml. Gadewch i mi chwyddo allan yma ac canolbwyntio ar y pedair llinell. Felly, yn JavaScript, dim ond fel PHP, 'ch jyst dyweder, yn llythrennol, y gair "swyddogaeth," enw'r swyddogaeth, ac yna cromfachau gydag unrhyw arguments-- unrhyw ddadleuon yn yr achos hwn. A does dim math dychwelyd yn JavaScript, yn union fel PHP. Felly mae'n ychydig yn fwy llac na C. Brace cyrliog Agored, Brace cyrliog agos. Adeiladu i mewn JavaScript yn function-- Nid yw function-- argymhellir ond swyddogaeth o'r enw effro a'i unig bwrpas mewn bywyd yw i dynnu i fyny 'n bert sy'n hyll ysgogi ein bod yn gweld eiliad yn ôl. Nawr mae hyn yn fath o lond ceg. Beth sy'n mynd ymlaen fan hyn? Felly gadewch i ni ddechrau i tynnu sylw at bopeth yma. Dyna yr un ddadl i roi gwybod. A beth sy'n digwydd? Mae hyn yn unig yn edrych fel llinyn. Ac mae'n troi allan, yn wahanol PHP ac yn wahanol C, does dim ots ym JavaScript os ydych dyfyniadau sengl neu dyfynodau dwbl. Byddant yn gyfwerth. Ac yn dweud y gwir, 'i' jyst boblogaidd y dyddiau hyn ar gyfer rhaglenwyr Javascript i'w bob amser Defnyddiwch dyfynodau sengl am ryw reswm. Dim ond y peth i'w wneud. Ond gallem ddefnyddio dyfynodau dwbl, yn ogystal. Felly a mwy yn gymeriad newydd. Ond y rhai ohonoch sy'n wedi ei wneud hyn o'r blaen, beth mae plws yn ei olygu? Yeah. Concatenate. Felly, rydym yn gweld hyn yn PHP. Mae yna dim ond y dot gweithredwr yn PHP sy'n Bydd concatenate dau llinynnau at ei gilydd. C yn boen yn y gwddf i wneud hyn. Dwyn i gof o pset chwech, a oedd mae poen neilltuol yn y gwddf, byddai'n rhaid i chi ddefnyddio rhywbeth fel strcat ar ôl dyrannu cof ar y pentwr neu'r domen. Bu'n rhaid i chi neidio drwy gylchoedd dim ond i concatenate dau llinynnau. Yn JavaScript, 'i' super syml. Defnyddiwch y gweithredwr a mwy rhyngddynt. Felly mae'r cymhleth-edrych beth yn ymddangos i fod hwn oherwydd ar ddiwedd y y llinyn cyfan, Fi jyst concatenate ar bwynt ebychnod. Felly, os yw'r hyn oedd yn neidio i fyny ei "Hello, David," "hello, Hannah," "Hello, Maria," ac yn y blaen, yn amlwg y peth canol rhwng y ddau Rhaid pwyntiau cadarnhaol yn rhoi mynediad at yr hyn i mi? Beth sydd yn yno yn sicr? Yeah. Felly byddaf yn esgus yma y ateb eu henw, dde? Felly eu henw popped i fyny yn y rownd derfynol canlyniad. Felly beth mae hyn yn ei olygu? Wel, yr wyf cynnig yn gynharach yn y llun y mae'r hyn a elwir yn DOM Mae gan yr elfen hon gwraidd arbennig ffordd i fyny a elwir yn ddogfen top. Ac yn awr, mae'n troi allan, sy'n mynd i fod yn newidyn byd-eang arbennig yn JavaScript, a adeiladwyd i mewn i sydd yn criw cyfan o swyddogaethau defnyddiol. Ymhlith y swyddogaeth ddefnyddiol yw'r y gallu i gyrraedd unrhyw nod ddisgynyddion. Sgwariau neu petryalau neu elipsau Mae'r rhai yn unig nodau mewn coeden, fel petai. Felly, mae'n ymddangos bod hadeiladu i mewn JavaScript ddogfen gwrthrych yn swyddogaeth, a elwir fel arall yn dull, sy'n cael ei alw getElementById. Mae cystrawen ar gyfer galw swyddogaeth yn JavaScript hynny yw tu mewn gwrthrych neu newidyn yn unig gyda'r dot nodiant. Ac rydym yn gweld hyn yn C yr hyn y mae'r gystrawen struct. Byddwch yn gweld hyn yn pset saith, math o, math o, pan fyddwch yn gweld CS50 :: ymholiad. Mae'r colon colon yn PHP yn un arall ffordd o alw swyddogaeth sy'n tu mewn ryw wrthrych. Ond am nawr yn JavaScript, 'i' jyst dot. Ac felly y swyddogaeth hon, ddigon braf, math o dweud beth does-- ei gael elfen trwy adnabod. Un elfen yn unig yw enw arall ar gyfer tag neu nod yn y DOM. Ac felly cael elfen erbyn ID "Enw" golygu this-- dyma fy HTML. Ac yn seiliedig ar HTML hwn, beth nod neu beth HTML tag ydw i mynd i fod yn llawdrwm programmatically drwy ffonio document.getElementById? Yeah, yn union. Rydw i'n mynd i gael y mewnbwn Elfen yno y mae eu ID yw "enw." Felly yn benodol, gallwch meddwl am y swyddogaeth hon, getElementById, fel ffordd o roi yn ôl i'r pwyntydd y nod penodol yn y goeden. Nid ydym wedi tynnu hyn coeden, ond mae'n ffordd o gael mynediad at y petryal neu fod betryal drwy nodi ei fod unigryw drwy ei adnabod. Yn awr, pam mae hon yn ddefnyddiol? Wel, mae'n troi allan bod unwaith y byddwch wedi gotten hynny nôd, sy'n betryal o'r llun, y nod tu mewn iddo, yn ei dro, mae criw cyfan o parau-werth allweddol properties-- neu ddata, gelwir un ohonynt werth. Felly llythrennol, mae'n fath o lond ceg i esbonio'r holl beth. Ond ar ddiwedd y dydd, i gyd mae hyn yn ei wneud yw rhoi i chi llinyn y mae'r defnyddiwr deipio mewn yn y ffasiwn hierarchaidd. Ond dwi ddim yn hoffi cwpl o'r pethau hyn. Neu yn hytrach, mae rhywfaint o chwilfrydedd o hyd. Mae hynny i gyd yn ymddangos i weithio. Pam ydych chi'n meddwl dychwelais ffug ar ôl galw cyfarch? Mae hwn yn edrych ychydig yn hyll, bod Mae gen i ddau ddatganiad yno gwahanu gan hanner colon. Dyfalwch chi. Os byddaf yn symud yn dychwelyd ffug, beth allai ddigwydd, dim ond reddfol? Mae'n ddrwg gennym, dywedwch eto? Agorwch bagad o Windows. Felly o bosibl efallai rhywbeth fel y byddai hynny'n digwydd. Beth arall? A allai cyflwyno cais ble? I'r un dudalen. Felly, mewn gwirionedd, dyna bod mae'r ateb yn nes yma, hyd yn oed er, yn wahanol yn y gorffennol, nid wyf i wedi nodir y priodoledd gweithredu, sydd fel arfer mae'n rhaid i ni ei wneud. Troi allan yna diofyn. Os nad ydych yn nodi camau gweithredu, mae fel dweud dyfyniad, unquote neu enw'r ffeil ei hun, sydd yn yr achos byddai fod fel dom-0.html. 'I jyst fath o wedi casglu, neu yn hytrach ymhlyg. Ac felly os nad wyf yn gwneud hyn, gadewch i ni sylwi. Gadewch i mi arbed hyn. Ac yr wyf wedi tynnu dychwelyd ffug. Gadewch i mi fynd yn ôl at hyn enghraifft a grym ail-lwytho ynddo. Ac efallai y byddwch wedi fy ngweld yn awgrymu mae hyn ar CS50 Trafod bagad o weithiau. Os bydd unrhyw beth wedi erioed actio ffynci a'r Nid yw porwr sy'n ymddwyn fel y byddech yn disgwyl, oftentimes youll 'angen at gynnal Shift ac yna cliciwch Reload. Bydd hynny'n gorfodi pob ffeil i ail-lwytho ac â defnyddio cache lleol eich porwr neu gopi fel bod yn awr, gadewch i mi fynd yn ei flaen ac agor fy Arolygwr, mae'r tab Rhwydwaith. Rydw i'n mynd i glicio Cadw Log oherwydd fy mod nid ydynt am iddo ddileu'r rhesi ar ôl i mi gael cludo i ffwrdd i rywle arall. Gadewch i mi fynd yn ei flaen yma ac teipiwch Andi, cliciwch Cyflwyno. Iawn. Mae hynny'n ymddangos yn ôl y disgwyl. Mae'n dweud "helo, Andi." Gadewch i mi cliciwch OK. Diddorol. Sylwch fod y dudalen wedi newid, er i'r dudalen wreiddiol. Sylwch ar y URL math o newid. Mae'n ychwanegu marc cwestiwn, sydd yn ddangosydd fel arfer ein bod yn ceisio cyflwyno rhywbeth. Ac yna ar y gwaelod, hyd yn oed yn fwy penodol, dyma yw'r cais HTTP gwirioneddol, a gafodd ymateb o 200 sydd dod â fi yn ôl yma. Felly nid beth mae hyn yn rydym am ei wneud, dde? Oherwydd nad wyf am ail-lwytho'r dudalen gyfan. Rwyf yn lle hynny eisiau dychwelyd ffug er mwyn cylched byr ymddygiad diofyn y porwr, a oedd yn oedd, wrth gwrs, i gyflwyno'r dudalen. Felly, gadewch i ni edrych ar enghraifft ychydig yn well. Mae hwn yn fersiwn dom un. Ac yn sylwi ar y canlynol. Mae'n iawn os nad ydych yn grok pob un o'r linellau o god. Ond beth yn sylfaenol wahanol am weithrediad hwn? 'N annhymerus' yn pennu y mae'n ymddwyn un fath, yn gwneud yr un peth. Beth ydw i yn amlwg wneud yn wahanol? Yeah? GYNULLEIDFA: [Anghlywadwy]. DAVID Malan: Yeah. Felly y swyddogaeth yn cael ei ddiffinio differently-- mewn geiriau eraill, yn absennol o'r ffurflen, i fyny yno ar linell 7-- neu yn hytrach, llinell 8-- bellach mae gen i'r priodoledd onsubmit. Yn yr enghraifft flaenorol, roedd hwn rwyf. Ac yna yr wyf yn llythrennol ysgrifennais fy cod yma. Ac yna y dywedais yn dychwelyd ffug. Ac os nad oedd yn rhwbio chi y ffordd anghywir eto, dylai ddechrau i'r graddau fel, yn union fel yn HTML, pan ddechreuon ni i gyd-gymysgu ei gyda CSS mewn priodoleddau arddull, 'i jyst dechrau cael ychydig anniben neu'n teimlo ychydig yn anghywir. Yn yr un modd yma, os byddwch yn dechrau cymryd HTML, ac yna rydych yn awtomatig sw n plopian rhywfaint cod JavaScript yng nghanol y llinyn a ddyfynnir, 'i' Nid yw mynd i fod chynnal a'i chadw iawn. Iawn? Nid yw'n hyd yn oed yn amlwg ar y dechrau gosod ble y cod JavaScript yw. Felly byddai'n neis iawn fel egwyddor o ddyluniad gwell, gadewch i ni gadw ein HTML yn gyfan gwbl gwahanu oddi wrth ein JavaScript. Felly, i wneud hynny, yr hyn rydym wedi wneud yma yw'r canlynol-- rydym yn syml yn defnyddio HTML ar gyfer markup yn unig. Ac felly yn y fersiwn un o hyn, i gyd Mae gen i yn fath gyda ID unigryw. Ac yna i lawr yma, Rwy'n cymryd mantais o nodwedd arbennig o JavaScript lle y gallaf gael yr hyn sydd Gelwir swyddogaeth dienw. Felly, mae'n troi allan bod os byddaf yn galw document.getElementById o 'demo' hynny fel rhoi pwyntydd i mi nod hwn yn fy coeden, yr elfen ffurf, fel petai. Yn awr, Fi jyst yn gwybod o gan wybod ychydig o HTML yn awr rydym yn ar ôl darllen rhai ar-lein cyfeirio, mai elfen ffurflen cefnogi criw cyfan o listeners-- ddigwyddiad yn geiriau eraill, mae'r rhestr golchi dillad o ddigwyddiad gwrandawyr a welsom funud yn ôl. Yr wyf yn gwybod o ddarllen y ddogfennaeth hynny onsubmit yn ddigwyddiad dilys gwrandäwr ar gyfer elfen ffurflen. Felly, ar ôl i mi yn gwybod bod, ei fod yn ddiogel i mi wneud o'r canlynol-- cael y nod oddi wrth y goeden, yr elfen ffurf, a mynediad ei hyn a elwir yn eiddo onsubmit. Felly, y dot yn unig yn golygu mae hwn yn eiddo, fel gwerth arbennig tu mewn iddo. A pha fath o ddata ydw i aseinio, mae'n debyg, i onsubmit, sef effeithiol newidyn y tu mewn o'r nod yn y goeden? Mae'n faes y tu mewn o hynny struct. Beth yw y math data? Mae swyddogaeth, yeah. Felly, mae'n ymddangos bod PHP wedi hyn. A hyd yn oed er ein bod Nid oedd yn dweud wrthych am y peth, Mae gan C awgrymiadau swyddogaeth, mae'r y gallu i basio a neilltuo swyddogaethau fel gwerthoedd newidynnau 'eu hunain. Ac nid ydym yn mynd i llithro'n ôl yn ôl i C. Ond am nawr, mae'n ymddangos fod ar yr ochr dde yma, hyd yn oed er ei fod yn edrych ychydig yn ffynci, fodd hon, hey porwr, rhoi swyddogaeth mi. Dydw i ddim yn mynd i hyd yn oed yn trafferthu rhoi ei enw oherwydd fy mod yn llythrennol mynd i neilltuo gadewch i ni ei alw y cyfeiriad y swyddogaeth hon unwaith i onsubmit. Mewn geiriau eraill, porwr, nid oes angen i chi i wybod beth y swyddogaeth hon ei alw. 'Ch jyst angen i chi ei wybod lle y mae yn gof. Ac felly mae'n suffices dim ond i cael hafalnod yno ac i beidio â trafferthu enwi hyn, fel foo neu gyfarch neu unrhyw air arall. Ac yn awr mae hyn yn unig yw beth arddull. Gallwn symud y Brace cyrliog ymlaen the-- llinell nesaf sorry-- fel rydym fel arfer yn gwneud CS50. Ond yn JavaScript, 'i' mewn gwirionedd arddull gyffredin i ychydig gadw'r Brace cyrliog, mae'r un cyntaf, ar y llinell gyntaf. Ond o hyn ymlaen, mae dim byd diddorol. Bod Brace cyrliog agored yn unig tynnu llinell rhwng ddechrau fy swyddogaeth. Mae'r swyddogaeth yn awr union yr un fath, ac eithrio fy mod i wedi yn cynnwys y ffug yn dychwelyd tu mewn swyddogaeth hon. Oherwydd ei fod yn troi out-- ac y byddech yn unig yn gwybod hyn o ddarllen y documentation-- os bydd y swyddogaeth yr ydych yn neilltuo i'r trafodwr onsubmit yn dychwelyd ffug, y porwr yn unig yn gwybod ac yn cytuno i beidio â chyflwyno ffurflen i weinydd. Os mae'n dychwelyd yn wir, bydd yn cyflwyno i weinydd am resymau byddwn yn gweld yn ddefnyddiol mewn dim ond hyn o bryd. Ac yna y hanner colon ar ôl y Brace cyrliog yno yn unig yn golygu dwi'n ei wneud diffinio'r swyddogaeth. Rydych yn gwybod beth i'w alw cyn gynted fel y byddwch yn clywed cyflwyniad. Iawn. Mae hyn yn dal i fod yn dadlau fath o hyll. Felly, beth yn rhagor y gallwn ei wneud? Wel, mae'n troi allan yna yn fersiwn dau, sef y last-- ac rydym annhymerus dim ond cipolwg ar hyn. Ar y risg o wneud mae'n uglier, mae'n troi allan fod yna llyfrgell mewn y byd o'r enw jQuery. A jQuery yn super Llyfrgell JavaScript poblogaidd dyna mor boblogaidd fel bod y rhan fwyaf o unrhyw JavaScript-- nid yw'n anghyffredin i bobl i ddrysu jQuery gyda JavaScript. Pam? JavaScript ei hun iawn ffyrdd amleiriog o wneud things-- document.getElementById, dadadadadada. Byddwch yn cael iawn llinellau hir o god. Felly yn gymrawd o'r enw John Resid, sydd mewn gwirionedd yn gweithio i startup i fyny y dyddiau hyn, daeth allan gyda'r llyfrgell hon flynyddoedd yn ôl bod llawer o bobl wedi cyfrannu i alw jQuery sy'n newid gystrawen yn y modd canlynol. Ac yn union fel eich bod wedi gweld hyn, oherwydd wnewch chi helpu yn ddieithriad gweld hyn os gwneud prosiect terfynol ar y we, byddai hyn yn ffordd sy'n cyfateb i gweithredu yr un swyddogaeth ddefnyddio llyfrgell arbennig hwn. Yn awr, yn hytrach na tynnu coes ar wahân yn ei gyfanrwydd, gadewch i ni dim ond yn edrych ar rai batrymau. Ymddengys fod y gystrawen i gael faint o swyddogaethau dienw neu swyddogaethau ddienw neu swyddogaethau lamda AKA? Dau, dde? A ydych yn gwybod bod, hyd yn oed os nad ydych yn super gyfforddus â hyn, unig gan y ffaith ei fod yn Dywed swyddogaeth () ddwywaith. Ac mae'n ymddangos bod beth y cod hwn yn doing-- a byddwn yn cyfeirio at gyfeiriadau ar-lein, yn y pen draw, ar gyfer rhai help gyda hyn. Mae hyn yn unig yn golygu pan mae'r ddogfen yn barod, mynd yn ei flaen a chofrestru y swyddogaeth ganlynol gan fod y triniwr cyflwyno i'r HTML elfen y mae ei syniad unigryw yw demo. Ac yna, pan fydd hynny'n digwydd, yn galw'r rhain yn ddwy linell o god. Ac mae hyn yn, yn drasig, mae mwy ffordd amleiriog o ddweud dychwelyd ffug. Ac rydym yn crybwyll hyn yn unig oherwydd byddwch yn gweld cod fel hyn ar-lein. Ac mae'n dim i'w digalonni gan. Ond yn hytrach, yn cadw mewn cof bod yr hyn sy'n mynd i fod yn gyffredin yn JavaScript yw patrwm hwn. Ac felly dyna pam rydym yn dangos ei fod am y tro. Iawn. Felly, heb annedd yn rhy llawer ar y gystrawen, a oes yna unrhyw gwestiynau ar enghreifftiau neu syniadau hyn hyd yn hyn? Iawn. Felly, gadewch i ni ddefnyddio hwn ar gyfer rhywbeth defnyddiol. Gwneud dudalen gwe mai dim ond dweud helo, felly ac felly nid yw'r cyfan sydd yn ddiddorol, i beidio â underwhelm. Nid yw hyn yn un yn mynd i fod yn hardd, ond mae'n mynd i wneud rhywbeth defnyddiol. Gadewch i mi fynd yn ôl at fy cyfeiriadur yma ac yn agor i fyny, yn dweud, ffurf-0.html. Felly, mae'n debyg mai dyma'r freshman dudalen gofrestru chwaraeon rhyngfurol heb unrhyw CSS neu unrhyw ymdeimlad o ddylunio. Ac yr wyf am fwrw ymlaen a cofrestrwch yma gyda chyfrinair. Ac yr wyf i'n mynd i gytuno i'r telerau a'r amodau a chliciwch Gofrestr. Ac yn awr yn dweud y wefan, "Rydych yn cofrestru! (Wel, nid mewn gwirionedd.) " Mae hynny'n ymddangos fel ei fod yn gweithio, ond gadewch i mi fynd yn ei flaen ac yn gorfodi ail-lwytho. A gadewch i mi ddweud, na, nid ydych yn ei wneud Mae angen i fy cyfeiriad e-bost go iawn. Neu efallai y byddwn yn jyst dweud post i mewn 'na. Bydd cyfrinair fod, fel, 12345. Ac yna, dim ond am fy mod i'n idiot, nawr mae'n 123,456,789. Ac nid wyf ddim yn mynd i wirio eich bocs. Hmm. Iawn. Felly mae sawl cyfle i wella yma. A ydych yn gwybod, neu a fydd yn gweld yn pset saith, eich bod yn gallu ysgrifennu code-- a bydd rhaid i chi ysgrifennu Cod yn PHP-- i amddiffyn yn erbyn y mathau hyn o ddefnyddwyr gwallau oherwydd bod y defnyddiwr yn glir Nid yw wedi cydweithio. Ac nid yw ef neu hi wedi rhoi i chi i gyd y gwerthoedd chi eisiau neu hyd yn oed yn y fformat eich bod am iddynt. Felly, byddwch yn gweld yn pset saith sy'n Gallai sicr, mae gennym rai os yw amodau sy'n dweud os yw'r cyfeiriad e-bost Nid yw username@something.edu, gallem yn unig ymddiheuro ac yn ymddiheuro i'r defnyddiwr lawer, fel y gallech fod yn pset saith. Neu os nad ydynt wedi gwirio bod blwch, troi allan yn PHP, gallwch ganfod hynny, hefyd. Ac yn sicr os yw'r cyfrineiriau yn cyd-fynd ag yn register.php ar gyfer pset saith, gallwch ganfod hynny. Ond mae hynny'n poen yn y gwddf yn hynny erbyn hyn maent yn gofyn ni i fynd yr holl ffordd at 'r gweinyddwr. Mae'r defnyddiwr yn cael ei hysbysu am y camgymeriad. Ac o leiaf oni bai eich bod yn defnyddio rhai technegau ffansi, Erbyn hyn mae'n rhaid iddynt cliciwch ar y saeth yn ôl. Oni fyddai'n braf, fel llawer o wefannau heddiw, os oedd gennych fwy uniongyrchol adborth, yn syth? Mewn geiriau eraill, gadewch i mi fynd i'r fersiwn un, sydd yn mynd i fod dim prettier. Ond mae ganddo nodwedd hon. Malan, 12345, 123,456,789, nid mynd i edrych ar y blwch, Gofrestr. Nid yw'r cyfrineiriau'n cydweddu. Felly, er bod hyn yn pop-up yn ugly-- gallwn gymryd lle hwn yn y pen draw gyda rhywbeth fel bootstrap, pa byddwch yn gweld yn pset saith yn library-- boblogaidd iawn wnes i canfod nad yw'r cyfrineiriau'n cydweddu. Iawn. Wel, gadewch i mi atgyweiria bod wrth i'r defnyddiwr. Gadewch i mi fynd yn ei flaen a dweud 12345, 12345. Dal ddim gwirio cytundeb. Mae'n rhaid i chi gytuno i'r Telerau ac Amodau. Felly pam? Os ydym eisoes wedi posited fod yna ffordd, ac rydym wedi gofyn i chi mewn pset saith i ganfod gwall amodau fel hyn ochr y gweinydd, pam ddylwn i trafferthu hefyd yn gwneud hyn yn JavaScript? Beth yw dadl mewn blaid ychwanegu beth ydych chi ar fin ei weld fel some-- mae cymhlethdod ychwanegol. Efallai nid oes unrhyw upside. Beth allai fod? GYNULLEIDFA: [Anghlywadwy]. DAVID Malan: O, diddorol. Campau posibl. Felly yn sicr, os nad ydych yn trin mewnbwn defnyddwyr wallus sy'n wych, efallai ei fod yn gorau oll os yw'n Nid yw hyd yn oed yn cyrraedd eich gweinydd. Byddwn yn gwthio yn ôl yno ac dyweder, dylech yn ôl pob tebyg atgyweiria ddau o'r problemau hynny. Ond mae hynny'n deg. Beth arall? GYNULLEIDFA: [Anghlywadwy]. DAVID Malan: Yeah. Mae'r cod hwn, fel y dywedasom o'r blaen, yn dehongli ar yr ochr cleientiaid. Nid yw'n trafferthu y gweinydd, sy'n golygu nad yw'n gwneud hynny effaith llwyth neu allu y gweinydd. Ac yn awr, am ychydig hen i mi, mae hyn yn cael unrhyw effaith ystyrlon gan fod gen i un defnyddiwr ar hyn o bryd. Ond os ydych yn unrhyw gwefan o faint gweddus, yn enwedig y mwyaf, fel Facebook, y mwyaf y gallwch gadw pobl i ffwrdd eich gweinydd yn well oherwydd bod gweinydd, wrth gwrs, dim ond swm cyfyngedig o RAM, nifer cyfyngedig o gigahertz, nifer cyfyngedig o bethau y gall ei wneud fesul uned o amser. Felly, os oes mwy o bobl yn y byd yn taro eich gweinydd, logio ddamweiniol anghywir, yn union yn ogystal os ydych yn Gall gadw hynny llwyth oddi ar eich gweinydd. Byd Gwaith, yn enwedig ar ffôn symudol device-- os ydych chi wedi erioed fewngofnodi i my.harvard neu Netid Yale neu debyg, mae hyn yn y latency gyda llawer o gwefannau fel 'na lle y mae'n ei gymryd, fel, damn eiliad neu ddwy weithiau. Ac yna, fy Nuw, os ydych yn mistype, yna rhaid i chi daro yn ôl ac ail-wneud iddo. Felly mae latency, yn enwedig ar gysylltiadau rhwydwaith arafach. Ond JavaScript, oherwydd mae'n rhedeg ar y cleient ac nid oes angen i fynd yn ôl ac ymlaen ar draws y rhyngrwyd a allai fod yn araf cysylltiad, gallwch gael adborth bron instantaneous. Felly gadewch i ni edrych ar hyn. Gadewch i mi agor y ffurflen-0 a edrych ar y HTML yma. A gadewch i ni dim ond yn gweld beth sy'n digwydd. Mae hon yn ffurflen y mae ei gweithredu yw register.php. Im 'jyst yn defnyddio ei gael felly y gallwn weld yr URL. Ond ar gyfer cyfrineiriau, byddem yn sicr eisiau i newid hyn i swydd mewn gwirionedd. Dyma maes mewnbwn o destun fath. Dyma mewnbwn arall maes math cyfrinair. Dyma yw, os nad ydych erioed wedi ei weld, mewnbwn o'r math blwch ticio. Ond does dim JavaScript yma o gwbl. Mae hyn yn unig HTML sy'n mynd i'r register.php. Ond mewn fersiwn un, lle rwy'n dechrau cael rhai pop-ups, gadewch i ni weld beth mewn gwirionedd yn digwydd yma. Mewn fersiwn un, beth Rydw i'n mynd i see-- fy mod meddwl y gallwn i stondin digon gyda digon o eiriau, ond yr wyf yn rhedeg allan. Yn fersiwn one-- dyna ni. Mewn fersiwn un, sylwi ar y canlynol-- ac nid yw'n gweithredu gorau, ond mae'n fy cyntaf. Sylwch fod islaw'r ffurf, mae gen i tag sgript. Ac tag sgript yn golygu, hey, porwr, dyma Daw rhywfaint cod yn, yn nodweddiadol, JavaScript. Ac yn awr, sylwi ar yr hyn rwy'n ei wneud. Ar line-- gallaf prin Darllenwch iddo-- llinell 32, mae'n dweud, form-- var felly roi i mi newidyn a elwir yn ffurflen. Ac yna yn cael document.getElementId o "cofrestriad." Beth yw hyn? Wel, gadewch i mi ailddirwyn i fyny yma. A rhybudd, AH, rhoddais yr elfen ffurflen syniad mympwyol ond disgrifiadol cofrestru. Felly, mae hyn yn rhoi newidyn wrthyf fod mi caniatáu i chrafangia y nod, bod petryal yn y goeden a elwir yn ffurflen. fodd form.onsubmit, hey porwr, gofrestru gwrandäwr ddigwyddiad ar y ffurflen hon. Mewn geiriau eraill, pan fydd y ffurflen hon yn cyflwyno, gweithredu y cod canlynol. Nid oes angen enw oherwydd bod pam mae angen i chi wybod yr enw? 'Ch jyst angen i chi ei wybod beth i'w weithredu, ergo ei fod yn swyddogaeth ddienw neu lamda. A dyna swyddogaeth yw pob un o'r llinellau hyn yma. Ac yn awr, i fod yn onest, er eich bod Efallai nad ydynt wedi erioed JavaScript ysgrifenedig o'r blaen, 'i' jyst C a PHP rhesymeg. Felly, os form.email.value == "" - felly os bydd y maes e-bost yn wag, gweiddi ar y defnyddiwr "Rhaid i chi ddarparu eich cyfeiriad e-bost. " Else os form.password.value yn gweiddi yn wag yn y defnyddiwr, "Rhaid i chi roi eich cyfrinair." Yn fwy diddorol yn rhesymegol, os nad yw'n form.password.value form.confirmation.value-- cyfartal ble oedd cadarnhad yn dod? Gadewch i mi ailddirwyn. Wel, yr wyf o'r enw mewnbwn hwn maes yn fan cyfrinair. Ac yr wyf yn galw hyn yn un yma gadarnhad. Gallwn fod wedi ei alw cyfrinair dau neu unrhyw beth arall. Im 'jyst yn gwirio rhesymegol bod dau rhain yr un fath. Else-- mae'n troi allan mae hyn yn Mr Boole again-- gwerth Boole, mae'r blwch gwirio. Felly os wyf yn dweud, ebychnod point-- os nad form.agreement.checked, gweiddi ar y defnyddiwr hefyd. Felly chystrawen hon byddwch yn gweld yn gyffredin iawn yn JavaScript, lle mae gennych y nodiant dot. Byddwch yn dechrau gyda gwrthrych yma. Rydych yn plymio mewn dyfnach at i eiddo fel gyfrinair. Ac yna byddwch yn cael ar ei werth gwirioneddol. Ac eto, dyma yw'r mewnbwn. Dyma enw'r cyfrinair. Ac mae ei werth yn beth bynnag fo'r dynol wedi teipio mewn gwirionedd yn. Felly, ym mhob un o'r rhain achosion, dychwelais ffug. Ond os na, yr wyf yn dychwelyd yn wir. Ac felly yn awr rydym yn gweld defnydd cymhellol o bryd byddech yn dychwelyd ffug i rhoi'r gorau i hyn y mae'r defnyddiwr yn ei wneud ac yn gwneud iddo ef neu hi yn dewis eto neu deipio eto. Fel arall, byddwn yn dychwelyd yn wir. A gadewch i mi gyflwyno un amrywiad arall o hyn yn unig i had rhywfaint o ddealltwriaeth o hynny. Wel, yn y fersiwn 2 o'r hyn, ffurf-2-- 'N annhymerus' yn ei wneud gyda ton o law. Mae hyn, ar gyfer y rhai chwilfrydig, y fersiwn jQuery, rhai ohonoch a allai fod am dabble yn y llyfrgell benodol. Ond gadewch i ni start-- ac unrhyw gwestiynau? Gadewch i mi oedi am eiliad oherwydd a oedd yn gyflym ac yn llawer. Ond y peth braf yma yw bod pob y cod yn 'n bert lawer yr un fath. Mae'r stwff newydd yw beth yw'r dom? Beth yw petryalau hyn? Beth yw nodau hyn? Beth yw swyddogaeth anhysbys? Beth 'an trafodwr digwyddiad? Ond diolch byth, mae'r rhan fwyaf o hynny yn unig cylch llawn o, dyweder, wythnos sero. Iawn. Felly rhywbeth ychydig yn fwy diddorol? Wel, yn gyntaf oll, gadewch i mi fynd yn ei flaen ac yn agor i fyny Google Maps. A byddwch yn sylwi bod am hyn o bryd, ar yr ail rhaniad, sylwi ar beth sy'n digwydd pan Yr wyf yn clicio ddigon cyflym. Ac mae y cysylltiad hwn yn Harvard mor gyflym nad ydych yn wir yn sylwi arno. Ond beth ydych chi'n ei fath o fath o weld os wyf yn clicio a llusgo yn gyflym iawn? Mae'r rhai ohonoch yn gwylio ar-lein, os byddwch yn araf hwn i gyflymder 0.5x, gallwch weld hyn yn well. Yr hyn oedd yn digwydd yn unig cyn i mi clicio a llusgo? Gadewch i mi roi cynnig Yma-- gadewch i mi wneud rhywbeth arall, fel 90210. Gadewch i ni fynd yn bell i ffwrdd. Dyna oedd yn gyflym iawn, hefyd. Beth am Disney World? Dyna ni. IAWN. Beth wnaethoch chi weld am ail rhaniad? Yn union, fel, sgwariau, dde? Dalfannau ar gyfer teils? Wel, beth sy'n mynd ymlaen fan hyn? Google Maps yn enghraifft neis o dechnoleg hon sy'n cael ei alw AJAX. A dyma lle byddwn yn dechrau i defnyddio'r JavaScript mewn arbennig ffordd hudolus. Yn ôl yn y dydd, yr oedd gwefan hon o'r enw MapQuest. A ddylwn i wedi cymryd screenshot o hyn o'r 1990au, lle os ydych eisiau edrych i fyny yma ar y map, byddech yn llythrennol clicio saeth i fyny ar y brig oedd yn dangos i chi sgwâr wahanol o'r map. Os ydych yn awyddus i symud i'r chwith, rydych yn clicio saeth a oedd yn dangos i chi sgwâr wahanol o'r map. Ac mae rhai gwefannau yn dal i wneud hyn heddiw. Ond hyd yn oed MapQuest wedi gotten yn well, fel Google Maps. Yn lle hynny, beth sy'n well rhain diwrnod yw gwefannau sy'n defnyddio AJAX. AJAX-- elwir fel arall yn Asynchronous JavaScript a XML, sydd ychydig yn ffordd ffansi o ddweud yn dechnoleg neu dechneg sy'n yn caniatáu porwr sy'n defnyddio JavaScript i wneud ceisiadau HTTP ychwanegol ar ôl i'r dudalen gael ei lwytho. Felly beth mae hyn yn ei olygu? Wel, byddai'n garedig o blino yn Gmail os bob tro y byddwch eisiau i wirio eich post, chi wedi taro yn llythrennol Control-R neu Command-R neu cliciwch ar y botwm Reload a byddai'r dudalen darn cyfan ail-lwytho. Iawn? Byddai'n fflachio gwyn yn ôl pob tebyg ar gyfer yr ail. Byddech yn gweld y bar cynnydd dwp. A dim ond i weld a oes gennych newydd bost, mae'r dudalen we cyfan a'r URL byddwch chi yn byddai'n rhaid i ail-lwytho. Ond nid dyna beth sy'n digwydd yn Gmail. Iawn? Pan fyddwch yn cael neges e-bost newydd mewn Gmail, beth sy'n digwydd ar y sgrin? 'I jyst yn dangos i fyny, dde? 'I jyst yn ymddangos magically fel rhes newydd yn y tabl. Sydd mewn gwirionedd yn golygu swm gweddus o gymhlethdod. Yn wir, os ydych yn meddwl am goeden hon, sydd hyd yn oed er yn un syml yma, Gmail-- a byddai'n rhaid i mi edrych yn y cod i fod yn sure-- yn ôl pob tebyg mae tabl HTML neu efallai rhestr di-drefn y mae'n peri pob un o'ch inboxes negeseuon e-bost fel. Ac felly os gallwch ddychmygu hyn yno yn goeden er cof pan fyddwch chi gan ddefnyddio Gmail sy'n edrych fath o fath o fel hyn, pan fydd Google yn sylweddoli, www, mae gennych e-bost newydd, nid yw'n gwneud yn awyddus i ail-adeiladu y goeden gyfan. Yn hytrach, mae am i ddod o hyd y nôd yn y goeden sy'n cynrychioli eich mewnflwch a dim ond mewnosod nod newydd. Felly debyg iawn i pset bump, lle rydych yn Roedd i fewnosod nodau mewn tabl hash, yn yr un modd mae Google, drwy Cod JavaScript ei fod wedi ysgrifennu, Traverse goeden hon, chyfrif i maes lle yw bod mewnflwch rhan o'r ffenestr, ac yna mewnosod rhes newydd. A rhes newydd yn unig yn golygu un neu nodau newydd mewn coeden mwy. Ac felly AJAX yn dechneg hon sy'n caniatáu ar gyfer yn union hynny. Unwaith y byddwch wedi ymweld â URL, fodd bynnag crazy hir y mae, ac unwaith y bydd y dudalen wedi ei lwytho, gallwch barhau i cydio mwy o ddata oddi wrth y internet-- boed yn e-bost neu teilsen o map-- chrafangia 'tu ôl i'r llenni ac yna mewnosod i mewn i'r dudalen fel na fydd y bobl yn ei wneud mewn gwirionedd rhaid i chi aros ar ei gyfer. Facebook Messenger yn gweithio yr un ffordd. Unrhyw nifer o websites-- eraill oh, mewn gwirionedd, hyd yn oed hyn. Yr wyf yn golygu, mae hyn yn, dweud y gwir, math o yn blino yn cynnwys y dyddiau hyn. Os byddaf yn dechrau chwilio am hyn cats-- yn fath o brofiad y defnyddiwr ofnadwy. 'I jyst yn dechrau chwilio i mi. Wel beth mae'n ei wneud? Nid yw'r URL wedi newid mewn gwirionedd ers i mi ddechrau teipio. Ond beth sy'n mynd ar draws y wire-- OK, hmm diddorol. Beth sy'n mynd ar draws y gwifren yma yn mynd yn weirder. IAWN. Felly gadewch i mi fynd yn ei flaen ac arolygu elfen ac yn mynd i'r tab Rhwydwaith a cheisio gwneud hyn technegol a llai am gathod. Wrth i mi deipio, yn llythrennol, cathod ac-- beth sy'n digwydd per-- Dydw i ddim yn mynd i glicio hynny. Iawn. Felly lawr yma, yr hyn sy'n digwydd bob tro rwy'n deipio cymeriad, mae'n debyg? Fel, lefel isel? Beth sy'n digwydd gyda phob un o'r rheini cymeriadau Rydw i'n teipio ar fy bysellfwrdd? Yeah? GYNULLEIDFA: [Anghlywadwy]. DAVID Malan: Yn union. Mae pob un o'r cymeriadau hynny yw mynd i Google, un ar y tro. Maent yn cael eu adeiladu llinyn ar eu gweinydd sy'n cynrychioli popeth rydw i wedi teipio mewn hyd yn hyn. A phob tro y byddaf yn teipio cymeriad arall, maent yn defnyddio eu saws gyfrinach o chwilio algorithm a chyfrif i maes, mae e'n golygu y dudalen hon cath neu y dudalen gath neu debyg? Felly, mewn rhai ystyr, mae'n darparu i mi gyda gwell o brofiad yn yr ystyr nad wyf yn ei wneud hyd yn oed yn Mae angen i gwblhau fy meddwl. Ac yn wir, mae'n ddefnyddiol beth, AutoComplete yn gyffredinol. Os yw eu algorithmau yn ddigon da ac os yw fy chwiliadau yn ddigon amlwg, Nid oes rhaid i mi deipio gair cyfan. Maent yn mynd i ddweud wrthyf beth y mae'n yw fy mod yn mewn gwirionedd yn chwilio am. Felly beth Google yn galw unwaith chwiliad yn unig gan ddefnyddio AJAX, gan ddefnyddio cod sy'n eu galluogi i wneud cais cynnwys ychwanegol drwy porwr gwe tu ôl i'r llenni yn arfer hon iaith newydd, JavaScript. Felly mae gennym gwpl o funudau ar ôl. A gadewch i mi alw i fyny fy buddy Colton i fyny ar y llwyfan, gan ei fod yn ymddangos tro diwethaf yn arbennig o hwyl i gyflwyno technoleg bod rhai ohonoch chi wedi mynegi diddordeb mewn ar gyfer prosiectau terfynol. Rydym yn meddwl y byddwn fod yn hwyl i ddod i fyny yn wirfoddolwr, fodd bynnag, heddiw i ddangos i chi ychwanegiad at hyn sy'n caniatáu you-- yeah, Gwelais law hwn yn gyntaf. Dewch ar i fyny. Gwneud yn dda iawn. Swydd da. Rydw i'n mynd i prosiect hwn y sgrin mewn dim ond hyn o bryd. Beth yw dy enw i bawb? EFA: Rwy'n Efa. DAVID Malan: Etha? EFA: Efa. DAVID Malan: Efa? EFA: Yeah. DAVID Malan: Neis i weld chi. Iawn. Gadewch i mi gael hyn yn barod. Dewch ar draw i'r canol gyda Colton yma. Pa Colton wedi yn ei ddwylo heddiw yn rheoli o bell. Felly yn hytrach na dim ond yn sefyll yno mewn byd tri dimensiwn edrych o gwmpas fel y gwnaeth Colton, yn awr gall Efa mewn gwirionedd yn cerdded o gwmpas drwy fynd i fyny, lawr, i'r chwith, ac i'r dde fel Nintendo neu Xbox rheolwr. EFA: Rydw i'n mynd i ddisgyn oddi ar y llwyfan. DAVID Malan: Gwnaf sefyll yn fras dros yma. Ond mae hynny'n risg. IAWN. Felly mynd yn ei flaen ac yn rhoi rhai ar. Gadewch i mi fynd yn ei flaen ac newid i sgrin yma. Gadewch i mi dim y goleuadau. A Colton, gadewch i mi dod sefyll nesaf i chi. Ydych chi eisiau i egluro yma gyda'r meic yr hyn rydym yn ei wneud? Yma byddwch yn mynd. COLTON: Cadarn. Felly, ar hyn o bryd rydym yn llwytho i fyny y Oculus, Amcana operating-- beidio gweithredu system, ond y brif raglen, lle gallwch weld yr holl gemau a apps sydd yn eich llyfrgell. Felly ar hyn o bryd, dylai ddweud tap y pad cyffwrdd i ddechrau. Touchpad yn mynd i fod ar y ochr dde y headset. Felly mynd yn ei flaen ac yn tap-- EFA: O, dyn. DAVID Malan: Yeah, dyna ni. Mae ansawdd Efa yn gweld yw ansawdd llawer uwch. Mae hyn yn unig y Wi-Fi fan hyn. COLTON: Felly beth ydych chi'n mynd i eisiau ei wneud yn edrych tuag at y top dde o'r sgrin. Yep, y gêm ar y dde uchaf iawn. Ac yna pan fyddwch yn dewis iddo, tap y pad cyffwrdd eto. Rwy'n credu ei Dreadhalls. Ac yna dyma yn a-- yma, gadewch mi ddal eich sbectol ar eich rhan. Felly, yr wyf newydd ei roi rheolwr ef. Felly nawr gall reoli'r gêm. Mae'n gallu symud o gwmpas a phethau fel 'na. Felly mynd yn ei flaen ac yn edrych i fyny i ben. Dylech weld Gêm Newydd. Felly mynd yn ei flaen a gallwch wneud hynny. Nawr, dylech fod yn gallu rheoli eich hun gyda'r rheolwr, yn ogystal, cyn gynted ag y y gêm llwythi i fyny yma. Gallai hyn fod ychydig yn frawychus. EFA: Nawr eich ddweud wrthyf. IAWN. COLTON: Pob hawl. Felly cadarnhau eich bod yn gallu symud o gwmpas. IAWN. Gallwch symud o gwmpas. Perffaith. Felly, os ydych yn edrych i lawr, mae gennych map. Map yn dangos i chi ble rydych chi. Gallwch edrych o amgylch yr ystafell. Gallwch llwyr droi o gwmpas. Yeah, yn union. Troi o gwmpas. Felly edrychwch ar y chwith. Rwy'n credu bod yna rywbeth y gallwch sylwi ar y gasgen yn yr ystafell. EFA: Sut ydw i'n cael y fapio allan o'r ffordd? COLTON: Edrychwch i fyny. Dim ond yn edrych i fyny. Iawn. Dyna chi. Nawr ewch yn ei flaen a dim ond troi o gwmpas. Felly edrychwch ymhellach ar y chwith. Cadwch symud i'r chwith. Daliwch ati i edrych ar ôl. Dal ati. Yeah. EFA: O, y ffordd honno. COLTON: Yeah. Cerddwch tuag ato gyda'r rheolwr. Dyna chi. Nawr dylai ddweud ei godi. Dyna chi. Ei godi. Iawn. Yn awr, gadewch i ni fynd allan o'r ystafell hon. Ewch ymlaen a cherdded i'r drws. Felly, rydych chi'n mynd i hold-- mae'n dweud dal y botwm i rym ar agor. Felly mynd yn ei flaen ac yn dal y botwm. Yep, gan orfodi iddo agor. Iawn. Swydd da. Nawr rydym yn cerdded allan o'r ystafell. Felly dw i'n mynd i gadael y gweddill i fyny i chi a gweld yr hyn byddwch yn cael gwybod. EFA: Dydw i ddim yn mynd yn yr ystafell dywyll. O, aros. Nawr rhaid i mi fynd i lawr y neuadd dywyll? OK, dw i'n mynd yn ôl [Anghlywadwy]. COLTON: Pob hawl. Mae rhai mwy o eitemau i godi. Edrych fel rhai darnau arian. Dyna casglu clo. Felly, os ydych yn dod o hyd i gloi drws, gallwch ddefnyddio hynny. A ydych yn ofnus? EFA: Ddim eto. COLTON: OK. Pretend-- yeah. Dim ond esgus eich bod yn mewn gwirionedd yn sefyll yno. Ac os byddwch yn troi around-- mae'n rhaid i chi ddod i arfer ag ef. Ond mae'n gwneud synnwyr. DAVID Malan: A thra Efa yn parhau i chwarae, gan y gallem wneud hyn drwy'r dydd, gallwn i gyd flaenau'r traed allan yma. Ond mae gennym ddau bâr arall, os hoffech i ddod i fyny a chwarae. Fel arall, byddwn yn gweld ydych nesaf ar ddydd Mercher. Diolch yn fawr i'n gwirfoddolwyr heddiw. [Cymeradwyaeth] [CERDDORIAETH - "Seinfeld THEMA"] SIARADWR 1: Wel, dwi'n rhoi PL newydd mount ar. Fi jyst newid y OLPF-- SIARADWR 2: Felly beth yn union ydych chi'n ei wneud? SIARADWR 1: Wel, mae pob un o these-- yma, byddaf yn dangos i chi yr un yma yn fan hyn. Gallwch weld yn iawn yma. SIARADWR 3: Yr wyf yn meddwl fy mod i'n dda gyda hyn. Rydych am rai mwy? SIARADWR 4: Na, yr wyf i'n dda. [Anghlywadwy]. SIARADWR 3: Na, [Anghlywadwy]. Cael rhywfaint o. SIARADWR 1: lliw gwahanol. SIARADWR 2: OK. SIARADWR 1: Felly yn y pen draw yr hyn y mae'n wneud yw ei fod yn addasu'r lliw o-