>> [Мусиц плаиинг]
>> Даг Ллоид: Па до сада смо стари професионалци у веб програмирање, зар не?
И ми смо покривени неколико језици у појединим видео.
А сада хајде да урадимо још један, ЈаваСцрипт.
>> Прво добре вести, ЈаваСкрипт је модеран програмирање
Језик слично ПХП чије Синтакса је изведен из Ц,
тако да је добро место за почетак.
Ради се о стара колико и ПХП, као и, пошто је око 20 година.
То је измислио око У исто време када ПХП.
И ЈаваСкрипт је у ствари прилично од фундаменталног значаја за кориснички доживљај
оф тхе веб.
У ствари, постоје три језика које сам
бих некако надокнадити корисник искуство интеракције
са сајта, ХТМЛ, ЦСС и ЈаваСцрипт.
И сада идемо причати мало о ЈаваСцрипт.
>> Лоша вест, мада, уз ЈаваСцрипт ис да поставља много правила за себе,
и онда их ломи.
И ЈаваСкрипт да заправо бити врста изазов да уче,
јер је за разлику од Ц и ПХП који су веома структурирани
и имају веома строга правила колико ствари могу радити.
ЈаваСцрипт има врста од стечен тако флексибилан
да можда ствари неће ради како очекујемо да,
а можда ми не можемо научити наш први програмски језик
као ЈаваСцрипт.
Можда зато што се то не догоди сет сама правила,
и то заправо не спроведе добре кодирање навике.
Али сада смо развили надам се неки добри кодирање навике,
па можемо да почнемо да Фораи у ЈаваСцрипт мало.
>> Да бисте написали ЈаваСцрипт, сличан отварању до царским датотеку са тачком Ц продужење
или ПХП фајл са тачком ПХП екстензија, све што треба да урадите је да отвори датотеку
са екстензијом датотеке тачку јс.
Не треба да има неки посебан граничници Као што смо урадили у ПХП-у.
Таква врста угла носач знак питања тект
да смо навикли да од тога, начин кажемо наше бровсер који имамо је оно што
ЈаваСцрипт ис укључујући је у ХТМЛ таг,
па да видимо мало о како се то ради у само тренутак.
>> Друга ствар која чини Јавасцрипт другачије,
међутим, да је ради страни клијента.
Дакле, сећам се да је са ПХП нисмо могли заиста видјети
ПХП је истакао сајт.
Ако се икада гледају на страна извор, ми само би
погледајте хтмл који је генерише том ПХП.
Али ЈаваСкрипт да ради страни клијента.
Ваш ЈаваСцрипт ради на рачунару.
И зато можете да урадите Ствари као адд блокатори.
Jel tako?
Оглас блокирање се обично врши убија сву ЈаваСцрипт
који ради на одређеном сајту.
И зато што ће морати да ради на вашем рачунару страни клијента,
можете само да заустави ЈаваСцрипт за покретање потпуности.
То такође значи да када користите сајт који садржи ЈаваСцрипт,
морате да пошаљете ЈаваСцрипт извор Код као део вашег одговора хттп
клијенту када су га затраже.
И тако можда и не желе да користе ЈаваСцрипт
да раде заиста осетљиве ствари као пролази информације
о лозинке корисничких назад и даље, јер су у ствари
ће да прими све од изворног кода, не само ХТМЛ који се генерише,
као што би био случај са рецимо ПХП.
>> Па како да се укључе ЈаваСцрипт у нашој хтмл за почетак?
Па, слично ЦСС, заправо, је врста како ми то радимо овде.
Са ЦСС имамо стила ознаке.
И унутар тих ознака стила, можемо дефинисати ЦСС стиле схеет.
Слично је и са ЈаваСцрипт можемо отворити скрипт ознаке,
још један ХТМЛ таг нисмо говоримо о у нашој хтмл видео,
и пишу ЈаваСцрипт у између тих сцрипт тагова.
Такође, иако, као што су ЦСС, ми могла повезати у ЦСС фајловима изван
и повуците их у нашем програму који начин.
Са ЦСС Такође можемо, извините, са ЈаваСцрипт
можемо навести извор атрибут скрипте таг
да повежу у ЈаваСцрипт одвојено, тако да не
морам да пишем у између сцрипт тагова смо
могу повезати у коришћењу да скрипта ознака као добро.
И баш као иу случају са ЦСС где препоручујемо да је вероватно био
у вашем најбољем интересу да напише ваш ЦСС у посебном фајлу у случају
морате да га промените, слично уради препоручујемо
да ћете писати ЈаваСцрипт у одвојеним датотекама
и користите сцрипт тагс извор приписују везати ЈаваСцрипт
у ХТМЛ-у, својој веб страници.
>> Тако ЈаваСцрипт варијабле, ми ћемо почнеш да причаш о синтакси овде.
И ми ћемо проћи кроз ова врста брзо,
јер смо урадили у ПХП-у, тако ово би сви требали бити прилично познато.
Дакле, променљиве у ЈаваСцрипт је веома сличан ПХП променљиве.
Нема тип спецификатор, и када се уведе променљиву,
га префикс са вар кључне речи.
У ПХП ћемо урадити нешто овако, знак долара х.
Тако смо рекли променљива, али не, ми
не помињемо тип варијабле уопште.
Ми бисмо рећи нешто слично знак доллара к једнако 44 у ПХП.
Ако смо све од Иста ствар у ЈаваСцрипт,
рекли бисмо вар к једнако 44.
Дакле, вар врста нашем путу увођења променљиву.
То је можда мало више интуитивно него само знак долара променљиве.
>> Опет, пошто нема типови података, можемо да урадимо ово
са било којим типом података, жице, све друго би сви били вар.
Кондиционали, сви наши стари пријатељи из Ц и ПХП
још увек доступни, тако да имамо ако, иф, друго, прекидач и питање
Марк дебелог црева.
Свитцх преосталих флексибилно као тим био у ПХП-у, али све ово си ти
упознат са до сада.
И Слично је и са петље су стари фаворити време,
раде док, као и за даље доступан за нас.
Дакле, већ знамо доста од Основна ЈаваСкрипт врста основе
само по основу што доста знања сада о Ц и ПХП.
>> Шта је функција у ЈаваСцрипт?
Па, слично ПХП свака функција је упознају са функције кључне речи.
Кажете функцију, а онда вас почињу да дефинишете своју функцију.
Шта је мало другачије о ЈаваСцрипт,
иако је способност има оно што се зове анонимна функција.
Дакле, можете дефинисати функције које немају име.
Ово је нешто што Заиста нисам видела.
Заиста ћемо користити концепт анонимног функције
мало касније у овом Видео, јер ће
да мало више смисла у контексту када га види у одређеној ситуацији
да сам овде израђени.
Али хајде да погледамо у ком једноставне ЈаваСцрипт
Функција може да изгледа.
>> Тако да сам отишао напред и је отворио ЦС50 ИДЕ
и ја већ покренути Апацхе да почнем сервер покренут.
И ја имам ову слику отварају се зове хоме.хтмл.
А ја ћу зоом ин мало овде.
У суштини, можете видети Хоме.хтмл је само гомила тастера.
И тврдим на врху овде да је ово ЈаваСкрипт секција
материјали.
Дакле, постоји гомила тастера овде, али шта ови тастери уствари раде?
>> Па, ми ћемо кренути у моју ИЕД, и ја сам хоме.хтмл овде отварати.
На самом почетку, ево где сам повезивању
у свим мојим ЈаваСцрипт изворне фајлове.
Jel tako?
Дакле, имам анонимоус.јс, цлоцк.јс, Ја користим изворни атрибут
скрипте таг да се повежу у датотеци.
Тако да нисам написао неки Јавасцрипт директно у овом фајлу,
али сам извукао на све Јавасцрипт сам написао одвојено.
И ако ми спустимо овде, ово треба да изгледају некако познато
са мало новог синтаксе.
Ми овде имамо заглавља ознака за функције и затим дугме.
Имам улаз који је дугме типа, и очигледно кад сам га ставку,
Идем да позовем неке функционишу датум упозорења.
А ово је како можемо некако помешате мало ЈаваСцрипт и ХТМЛ.
Они су заправо прилично лепо играју заједно и тако очигледно кад
Ја кликните на ово дугме, идем да позове неки датум функција упозорења.
И исто тако немају дефинисан и понашања за све остале дугмета који
су на тој страници хоме.хтмл, које ћемо враћати
да током овог видео снимка.
Али да се вратимо горе овде и погледај
ат цлоцк.јс, што је Јавасцрипт фајл који сам
је написао да је овај први функцију ћемо да погледамо.
Као што можете видети, што почнем ЈаваСцрипт функционишу са функцијом кључних речи,
и ја сам дао ово од којих је један име, зове се датум на опрезу.
Унутар ту, очигледно стварање нова локална променљива зове тренутни датум.
И ја ћу да доделите једнак нови датум.
И можемо ући у много детаљ о томе шта датум је,
и заиста је тако ЈаваСкрипт велик да не можемо евентуално
покрије све на једном видео.
Али довољно је рећи, ово иде да се врате у мене је податак који
енцапсулатес тренутни датум и време.
Ја складиштење да у променљивој да сам ја очигледно да упозори тренутни датум.
>> Па, шта упозорење текући датум изгледа?
Хајде да погледамо самог фајла уназад у прозору прегледача.
Дакле, опет, ово је дугме које сам су везани за овај, по имену функције.
И кликните на њу тамо и погледајте шта је урадио, упозорио.
То се појавило ову врсту оквира говори ми да тренутно време је, по свему судећи
то је 4. новембар у 10:43:43 ујутру.
И ако га кликните поново, сада то је неколико секунди касније, зар не?
Дакле, то је све ова функција ради.
Када кликнете на ово дугме, то појави се порука упозорења за мене.
Дакле, заиста не постоји ни превише функцијама
то је другачије од ПХП, мало нових синтаксе
који долази са рад са ЈаваСцрипт.
>> Низови у ЈаваСцрипт је прилично јасно.
Да прогласи низ, користите средњим заградама синтакса
да смо упознати са од ПХП.
И слично ПХП, ми Такође можете мешати типове података.
Дакле, овај низ, како ових низова би
бити савршено легитимно ЈаваСкрипт.
Један који је све целе бројеве, и онај који се мешају различите врсте података.
>> Шта је нешто сасвим друго у ЈаваСцрипт, иако?
То је појам објекта.
Дакле, можда сте чули за објецт ориентед программинг.
Ми не радимо пуно тога у ЦС50, али ми ћемо учинити мало тога
овде у контексту ЈаваСцрипт.
Сада ЈаваСкрипт да има могућност да понашају као програмирање објектно оријентисаног
језик, али није сама искључиво оријентисана објекат
програмски језик.
И опет долази назад зашто сам рекао,
може бити веома изазовна да уче Јавасцрипт као свом првом програму
језик, јер не уклапа одређену парадигму.
>> Ц, у другу руку ис а функционалан програмски језик.
Ако желимо да, функције су нека врста шефа Ман Биг, зар не?
Они диктирају шта деси све друго.
Желимо да промените варијабле, зовемо функције.
Ми радимо ствари на функције.
Објекти уместо, у објецт ориентед лангуаге,
објекти некако постаје звезда и Функције постају нека врста секундарног.
Али, шта је објекат, што је овај појам неког објекта?
Па, ако то помаже, да о томе на први врсти
Као на Ц структуре или струцт које смо научили о прије.
У Ц, а структура садржи велики број поља,
и можда бисмо сада могли почети да позовите Ова поља својства.
Али никада није својства стоје сами, зар не?
Ако дефинишемо структуру за ауто овако са следећа два
поља или својства, један ан цео за годину аутомобила
и још 10 карактера стринг за модел аутомобила,
Могу да кажем овако нешто, Могу да прогласи нову променљиву
типа струцт аутомобила Хербие.
И онда могу да кажем нешто као хербие.иеар једнака 1.963,
и хербие.модел једнако Беетле.
То је ок.
Ја користим поља у контекст структуре,
али нисам могао само каже нешто овако.
Jel tako?
Не могу да користим име поља независно од структуре.
То је нека врста фундаменталне ствари.
>> Тако поља бити суштинског значаја за Ц структура
су веома слични особине као суштинског значаја за ЈаваСцрипт објектима.
Али шта их чини посебно занимљиво
је да предмети који такође може имати шта се називају методе, које су стварно
само фенси израз за функција које су својствени објекта као добро.
Дакле, то је функцију која може бити само назива у контексту објекта.
Само објекат који је дефинисао ова функција унутар ИТС,
ако мислите о Струцт, функција
је дефинисан унутар они дефинишу цурли протеза структуре.
Дакле, то само значи нешто структури.
И то је нека врста оно што радимо овде са предметима и методама.
То је у основи као да смо дефинисање функцију која
има смисла само снажан Посебно објекат, и тако смо
зовемо методу објекта.
И ми никада не можемо назвати функција независно од објекта,
баш као и ми не можемо рећи годину или модел независно од струцт ин Ц.
>> Дакле, функционална програмирање парадигме изгледају нешто овако.
Функција и онда када прођете у објекат као параметар.
У програмирању објецт ориентед језици, ова врста добија
преврнуо, а ми размишљамо о овако, објецт.фунцтион.
Тако некако те тачке Опет оператер подразумева
да је то нека врста имовине или атрибут самог објекта.
Али то је оно што објекат оријентисан програмски језик
може да уради да би функцију позив на методу, поново, која
је само посебна реч за функцију који је својствен објекту.
То је оно што је синтакса може да изгледа.
И тако ћемо почети да видите неке од ово у контексту ЈаваСцрипт.
>> Можете мислити о објекту врста као асоцијативног низа,
који смо упознати са од ПХП.
Не заборавите асоцијативна низ дозвољава да имамо кључне вредности парове, уместо
да имају индекса 0, један, два, три, и тако даље као што смо навикли од Ц
низови.
Асоцијативни низови могу мап речи, као што у ПХП Видео,
причали смо о преливи за пице.
И тако смо имали низ тзв пице, и ми
Имао сир је био кључни и $ 8.99 је вредност, а затим феферони био кључни,
$ 9.99 био вредност, и тако даље.
И тако можемо да размишљамо о објецт врста слична асоцијативним
Арраи.
И то синтакса овде би створило нови објекат
зове Хербие са два својства унутра.
Година која се додељује вредност 1963, и модел, који је додељен стринг
Буба.
>> А приметити овде да ја користим сингле цитати ЈаваСцрипт.
Можете користити једну или наводнике када говорите о жицама.
То је само конвенционално случају да је већина пута
кад пишеш ЈаваСцрипт, само користите појединачне наводнике.
Али би овде наводнике, и То би било сасвим у реду као добро.
>> Тако се како у ПХП смо ову представу
од а за сваку петљу да би нам омогућило да прелазили преко свих кључних вредности
пара асоцијативним Арраи, јер смо ми
није имао ту способност да поновити до 0, један, два, три, четири,
и тако даље?
ЈаваСцрипт има нешто врло слично, али не зове за сваку петљу,
зове се за у петљи.
Дакле, ако сам рекао да ми се ово за вар кључ у објекту,
То је врста слична каже за сваку нешто као нешто.
Али све што радим овде итератинг кроз све кључеве мог предмета.
И унутар коврџавом брацес тамо, ја бих
користити објекат кључ угластим заградама односе се на вредност у том кључном месту.
>> Алтернативно, ту је Чак други приступ.
Ако сам само брига о вредности, могу да кажем за кључ објекта,
и само користити кључ унутра.
Дакле, за вар кључ у објекту, имам користити објекта квадратних заграда
кључ унутар петље.
За вар кључ објекта, могу само користите кључ унутар петље,
јер ја сам само конкретно говоримо о вредностима тамо.
>> Дакле, хајде да можда потрајати погледај разлику
само да вас брзо показати разлика између четири
у и на уз врло специфична Арраи, који имамо овде, недеља низ.
Дакле, морам да нађем нови низ да сам испуњен са седам жица,
Понедељак, уторак, среда, Четвртак, петак, субота, недеља.
И ја желим да сада поновити кроз овај низ,
штампање одређене информације.
Ако користи за петљу у да одштампате информације,
шта мислиш да ћу добити?
Па, хајде да погледамо.
И пре него што скок преко до прозора мој бровсер,
Само знам да цонсоле.лог је некако један
начин да се то за штампање Ф у ЈаваСцрипт.
Али оно што је конзола?
Па, то је оно што ћемо ићи да погледам сада.
>> У реду, тако да смо се вратили овде у прозору прегледача мом,
и ја ћу да отворим у мојој програмера алата.
Опет, ја само ударање Ф12 да се отвори развојне алате.
И приметите да овдје на Топ сам изабрао конзолу.
Дакле, ово је појам од програмера конзоле,
и она ће нас омогућити принт информације из,
нешто као терминала, али Као што ћете видети нешто касније,
можемо упишите информације у интеракцију са наше веб странице.
Идем да зумира мало овде, и ја ћу сада кликнете на за на тесту.
И четири у тест-- Нећу показати вам код за њега сада,
али ћете га добити ако скидање изворног кода који
повезан је са овим видео-- само да за у петља
да смо видели само Други назад на слајду.
>> Зато ћу да клик дугме, и овде,
ево шта је одштампан у конзола, 0, један, два, три, четири, пет,
шест.
Нисам исписати податке унутар тих арраи локацијама,
јер сам користио за у петљи.
И унутар тела петље, И Само одштампан кључ не противи кључ.
Али ако сада јасно моју конзолу, и ја пребацити на за теста, и четири теста
Кажем ја користим за петље уместо и одштампати кључ,
ако кликнем да, сад сам добијање стварни елементи унутар мог предмета
или моје низ у овом случају.
Моја низ дана у недељи.
Штампан сам Понедељак, Уторак, среда.
Дакле, то је разлика између а за у петљи, који исписује
само кључеви ако користите само кључ унутар тела петље,
и за петље, који штампа од вредности ако користите само
Тастер унутар тела петље.
>> Добро, како сада почињу да спојите жице и можда мик уп
неке варијабле са интерполацијом као да смо у стању да уради у ПХП?
Па, прилично смо упознати с тим од ПХП.
Ово је како би ми то радимо користећи тачка оператер да спојите жице.
У ЈаваСцрипт, међутим, ми заправо користимо нешто
зове оператер, плус, која је можда чак и мало више
интуитиван, зар не?
Ми смо додајући хрпу жица заједно.
Дакле, хајде да вратимо изнова и види шта је ово
ће се штампати ако покушавамо да одштампате све информације у низу недеље.
У реду, овде испод под стринг сплету,
Имам две опције, ниска зграда В1 и онда зграде низ В2.
И ми ћемо видети зашто смо треба В2 у секунди.
Али ја ћу кликните на ниска зграда В1, која
је код нас било Само узимање поглед на,
цонсоле.лог са свим плусева.
Да видимо да ли отисака шта очекујемо.
>> Понедељак је дан број 01 у недељи, Уторак је дан број 11 у недељи.
Па, шта сам покушавао да уради било је да
је да одштампате Понедељак је дан број један, уторак је дан број два.
Али изгледа да сам Увек штампање један.
Па, зашто је то тако?
Па, испоставило се, узети још један поглед у овом малом фрагмент кода овде.
Обратите пажњу да користите плус оператер у два различита контекста.
>> И ево где можда ствари да смо мало говорио,
Ох, то је тако сјајно.
Ми више не баве типова података.
Али овде је место где је чињеница да губимо врсте података
може заправо бити мало проблем за нас.
Сада да оператер плус се користи за спојите жице и додати бројеве
заједно, ЈаваСцрипт има да своју најбољу претпоставку
шта хоћу да уради за мене.
И у овом случају, погрешно претпоставио.
Само за спојени дан, што би било 0, један, два, три, четири, пет или шест,
и онда то само надовезује то и онда надовезују један.
То није заправо их додате заједно.
И тако ови језици, ПХП и ЈаваСцрипт,
да абстрацтс гостима Овај појам типова,
не морате више да се баве тим.
Они још увек немају врсте испод хаубе.
И можемо, у ситуацијама овако, искористе ту чињеницу
рекавши нешто као да то, што
говори ЈаваСцрипт, од стране начин третира ово као цео број,
не третирају као стринг, чак и иако смо заједно мешање стрингс
и целих бројева овде.
>> То је само једна од оних ствари да изгледа тако сјајно у контексту
да не морамо да бавити типовима више,
али понекад ти ћеш улете у ситуацију
баш овако где је чињеница да немате контролу над врстама
могу осветити теби ако нисте пажљиви.
И тако ако се поп натраг на ИДЕ, ја сам да очисте своју конзолу поново,
и ја ћу да кликну стринг Зграда верзија два, која
је место где ја користим тај Парсе инт функцију.
Сада је штампање информације које сам очекивао.
Од понедељка број један дан, уторак је дан број два, и тако даље.
>> Дакле, хајде да разговарамо о функцијама поново.
Обећао сам да ћемо причати о анонимно функције, а сада контекст за то
је коначно стигао.
Дакле, пре него што то урадимо, хајде да поново разговарати о низовима за само секунду.
Дакле, низови су посебна Случај објекта.
У ствари, све у ЈаваСцрипт је заправо објекат.
Дакле, функције су Посебан случај неког објекта,
цели бројеви су посебна Случај објекта,
али низови посебно имају низ метода.
Не заборавите јер су предмети, могу имати особине и методе.
Имају низ метода које могу применити на тим објектима.
Постоји метода се зове величина, арраи.сизе,
који ће се вратити у ви као што би се могло очекивати
број елемената у вашем низу.
арраи.поп, нешто као наш појам појављују са
од хрпе, ако се сећате из наше книгохранилисе видео,
уклања последњи елемент из низа.
Арраи.пусх додаје нови елемент до краја низа.
арраи.схифт је некако као ДК, то слојеви се
био први елемент низа.
>> Али ту је још једна посебна метод низа звао мапу.
И ово је нека врста занимљив концепт.
Дакле, шта је идеја о карти?
Стварно ћете видети у неколико других језика,
и не говоримо о врста картографа карту овде,
говоримо о функцији мапирања.
У контексту смо говоримо о овде, мапа
је специјална операција смо могу обављати на низ
да се примени одређену функцију да сваки елемент тог низа.
па бисмо рекли у овај случај, можда арраи.мап,
и унутар ње, ми пролази у карте је функција која желимо
које се примењују на сваки елемент.
Дакле, то је нека врста аналоган користећи петља за поновити преко сваки елемент
и примењују посебна функционишу на сваки елемент,
Само ЈаваСцрипт је ово изграђена у Појам мапирања која се могу примијенити.
И ово је велики контекст у говоримо о анонимној функцији.
>> Рецимо да имамо Овај низ целих бројева.
То се зове Нумс, и има пет ствари у њој, један, два, три, четири,
пет.
Сада желим да неке карту Функција на овај низ.
Желим да имам функција примјењују да сваки елемент низа.
Па, рецимо да је оно што желим да урадите је да удвостручи свих елемената.
Оно што сам могао да урадим је само користити петљу за вар сам једнако 0, ја је мање од
или једнако 4, И плус, плус и затим два пута сваки број.
Али исто тако може да уради овако нешто.
Могу да кажем Нумс је раније један два три четири пет,
Сада, међутим, ја бих вас замолио да нанесите мапирање на овом низу
где би ми се свиђаш да удвостручи сваки број.
И то је тачно шта се дешава овде.
Али погледајте шта сам пролазу као аргумент за карту.
Ово је анонимна функција.
И приметио нисам дао ова функција име,
Само сам му дао списак параметара.
И то је пример анонимног функције.
>> Ми углавном никада не бих назвао ово Функција ван контекста карте.
Ми га дефинише као параметар за мапирање, тако да стварно не
морају да имају име за њега, ако Једино што брине је карта
и то право дефинисано постоји унутар карте.
И то је анонимна функција.
Нисмо били у могућности да то урадили раније.
Карта неку функцију која прихвата један параметар, Број,
и шта је функција ради се враћа Број пута 2.
И тако након овога маппинг је примењен,
ово је сада шта Нумс изглед као, два, четири, шест, осам, 10.
И ми ћемо поп у моју претраживач прозор и само
погледајте ово врло брзо такође.
>> Дакле, имам овде још један тастер у мом родном страници под називом дупло.
И када кликнем двапут, и то говори ја пре него што је један, два, три, четири,
пет после два, четири, шест, осам, 10.
И ако се вратим и кликните двапут Опет, два, четири, шест, осам, 10.
А онда после, четири, осам, 12, 16, а затим 20.
А шта ја радим у овој функцији?
Па, ако смо скокнем до ИДЕ, и Ја повуците свој анонимни функцију, овде
он лине седам до 13, ја сам радиш овде мало фенси рад,
али само штампање шта је тренутно у низу.
Онда он лине 16, 17, и 18, ту је моја мапа.
Ово је место где ја примене овог дуплирање функција за сваког елемента.
И онда мало даље, Ја само радим исту ствар
Ја сам радио раније, осим сада сам штампање садржај низа
после тога.
Али све што сам овде урадио је само користите анонимну функцију
мапирати кроз цео низ.
>> Дакле, још једна велика тема да разговарају о в ЈаваСцрипт је појам догађаја.
Догађај је нешто што се дешава само када корисник интеракцију са вашим веб
страна, па можда они цлицк нешто, или можда страница се заврши учитавање,
или можда су се преселили њихова миша преко нечега,
или су они нешто откуцао у поље за унос.
Све ове ствари су догађаји који се дешавају на нашој веб страници.
И ЈаваСкрипт да има Способност да подрже нешто
назива догађај трговине, који је цаллбацк функција која
реагује на ХТМЛ догађају.
А шта је цаллбацк функција?
Па, углавном је само још један наме за анонимног функцију.
То је функција која одговара на догађај.
И ово је место где долазимо до Идеја везивања одређене функције
одређеној ХТМЛ атрибут.
Већина хтмл елементи имају Подршка за атрибут
да нисмо разговарали о томе у хтмл Видео за тако нешто на клик
или на ховер или оптерећења, свих ових догађаја
да онда може да напише функције које се баве тим догађајима
када те догађаје јављају на својој веб страници.
>> И тако можда ваш ХТМЛ изгледа отприлике овако.
И ја имам два тастера овде, Дугме један и два дугме,
и овде сам тренутно имају дефинисан ништа,
али ово је место где атрибут клик је очигледно део мог ХТМЛ таг.
Дакле, очигледно, када сам дефинише шта је то дешава унутар тог атрибута,
то ће бити неки ЈаваСкрипт функција која реагује на догађај
вероватно кликтања на Дугме један или два дугме.
>> Шта је кул у вези тога смо се може да напише генерички евент хандлер.
И овај догађај ће Трговине створити догађај објекат.
И догађај објекат ће нам рећи који од ова два тастера је кликнуо.
Сада како то ради?
Па, то може изгледати овако нешто.
Дакле, прво ћемо дефинисати наше дугмад да има одговор на цаллбацк
функција која ће се звати када се кликне на дугме,
ми ћемо позвати Евент Наме упозорења.
А приметити у оба случаја смо пролази у овом догађају параметру.
Тако зовемо ову функцију или када је ова функција
је изазван догађај дешава, то ће да створи овај догађај објекат
и прође га као параметар да упозори име.
И тај догађај објекат ће садржати информације
о чему је кликнуо дугме.
И како то да урадим?
Па, то може изгледати овако нешто.
Тако да сада у моје одвојено Јавасцрипт фајл, могао бих
да нађем ово Име Алерт функција, која
опет прихвата тај догађај параметар.
А онда овде је Оиитавам које дугме је изазвало,
вар окидач једнако догађај тачка извор елемента.
Шта је извор који је створио овај догађај објекат који је усвојен у?
Да ли је то дугме једном или је дугме два не?
>> А онда овде све што радим је штампање триггер.иннерхтмл.
Па, у овом случају, у овом контекст, триггер.иннерхтмл
је само оно што је написано на дугме.
Десило се да смо скок назад на тренутак, да би
бити оно што је између тих дугме тагова.
То ће бити тастер једно или дугме два.
И хајде да погледамо како би овај догађај трговине
изгледало да смо се ради у пракси.
>> Дакле, пре свега, ти си отвориле евентс.јс,
који је ЈаваСцрипт фајл где Ја сам дефинише ову функцију.
И као што видите, то је прилично тачно шта
смо управо видели на слајду пре другог.
И ја ћу ићи преко до почетна страница смо користили.
И овде дугме један и два дугме.
А ја ћу кликните на дугме једном.
Сте кликнули на дугме једном, ако вас можете видети овде у приправности.
ОК.
Кликните на дугме двоје, кликнули на дугме два.
>> Дакле, оба тастера имају Исти позив функције, зар не?
Обојица су били будни име догађај, али овај догађај објекат
која се створила када смо кликните на то нам говори које дугме је кликнуо.
Нисмо имали да напише два одвојена функције или се баве има
да прође додатне информације.
Ми само ослањајући се на ста ЈаваСкрипт
уради за нас, а то је да створи што врста догађаја објекта у наше име.
Има много више него ЈаваСцрипт оно што смо покривени на овом снимку,
али има њих основно би требало да те
дужег ваис то учиш све ће
треба да знате о овоме Занимљиво језика.
Ја сам Доуг Лојд.
Ово је ЦС50.