Компютер, Барномасозӣ
JavaScript: функсияи функсияи. забони барномасозӣ JS
Пешниҳодҳо маводи динамикӣ ба шакли веб-захирањои меъёр табдил кардаанд. Саҳифаҳои статикӣ ва тарҳрезии қолибҳои Web ниҳоят рисолати худро анҷом.
Бо вуҷуди ин, муосир веб-захираҳо тавр нест, ки ба воситаи як қатор саҳифаҳои тавлидшуда аз ҷониби сервер муаррифӣ карда ва ба оромӣ браузери (JS + AJAX).
анбори асоси Web дар лаҳзаи расидани меҳмон метавонад якчанд унвонҳои барои сабти, баъзе матн дар «сардори», чанд хатҳои Кодекси ки дар «бадан» ва ҳама. Дар боқимондаи «ҳомиладор» дар раванди меҳмон - ин сомонаи беҳтарин аст, ё майлдошта, ки ба яке.
Ҷойгир кардани тавсиф ва хусусияти функсияҳои
опыт, наработаный многими десятилетиями. JavaScript - он ба даҳсолаҳо таҷрибаи narabotany. Он дорои як рузи таърих назаррас рушд, муосир дастаи соњибихтисос офаринандагон таҳиягарон. инчунин ба забони тоҷикӣ фикр берун, боэътимод, зебо ва имконияти воқеӣ барои ба барноманависонро навиштани код барои арзанда ва худидоракунии такмил медиҳад.
Мафҳуми додани алгоритми аст, функсия ин ҷо ки дар принсипи вуҷуд надорад. Албатта, таҳиякунанда дилхоҳ дар саҳифаи метавонад ба ворид кардани рамзи скрипт ба гузошта, ба он ва ба он иҷро карда мешавад. страницы? Аммо нуқтаи дар рамзи аст, ки танҳо як маротиба иљро мешавад: ҳангоми боркунии (нав бор кардан) дар саҳифаи? Оё имкон барои насб кардани арзишҳои ибтидоии он чӣ баъзе тағйирёбандаҳои ночиз.
Script - дар ин ҷо тавсиф рости тағйирёбандаҳои ва вазифаҳо, аз як пораи хуб рамзи навишта шудааст, барои хотири худи он аст. Ин аст, ки маҷмӯи вазифаҳои асосӣ ва муҳим аст, шояд - бевосита мутақобилаи худ, балки бештар аз он гуногун. Тавсифи Ҷои функсия ва ҷои татбиқи он аст, ҳамон чизе нест.
Ин аст, нест, зарур аст, ки ба функсия функсияи дигарро бевосита Фарёд мекунанд, вале он метавонад ғайримустақим ба воситаи ташаккули рамзи динамикӣ анҷом дода мешавад. Як меҳмон мегирад қарор дар давоми ин коди ва корҳои вазифаҳои низоми хеле гуногун.
динамикаи функсионалии
Динамикаи функсионалӣ - аст, на танҳо ва на handlers қадар ба зиммаи унсурҳои саҳифаи функсияҳоеро, ки унсурҳои саҳифаи ташкил ва аз handlers фаврии низ, метавонад тағйир ҳастанд.
Дар амал сурат мегирад оид ба саҳифа, вобаста ба унсурњои ва рафтори меҳмон дар бораи он. Ҳаракати аз муш, клавиатура, тугмаҳои, ангуштзании, чорабиниҳо, адад ва ҳолатҳои дигар боиси оғози вазифаҳои зарурӣ.
Ибтидо аст, пайдарҳамӣ нест ва ҳеҷ баробари нест. аст, вокуниши муносиб ба рӯйдодҳои веб-захиравӣ нест. Чӣ тавр рӯза JavaScript функсияи махсус иҷро он бисёр техникӣ (компютер, хатҳои алоқа) ва semantic вобаста аст (алгоритми мантиқи фанҳо, ки маънояш ин масъала) омилњои.
Дар асл он метавонад бошад, баҳс, ки чизе дорад, ки дар баробари кор кардем, вале чизе пас чизе рӯй, балки ба маънои ин нест, махсус. Ќайд кардан зарур аст, ки функсияи JavaScript - он имконият фароҳам овардани вокуниши муносиб ба амали меҳмон аст.
Ин тафаккури нав дар таҳия: тақсим коркард дар қаъри браузери ягона!
Дар наҳвӣ барои тағйирёбандаҳои ва функсияҳои
JavaScript-тағйирёбандаҳои дар теги «скрипт» ҷойгир карда, ва дар ҷисми функсияи. Вазифаҳои шудаанд ҳамин тавр муайян карда мешавад. маънои махсус ба нависед дохили функсияи функсияи дигаре ҳаст, аммо то он бо сабабҳои гуногун зарур бошад, ва аз он аст, хеле оқилона.
Тавсифи функсияи ба таври умум бо калимаи «вазифаи» шурӯъ мешавад, ки пас аз номи он, ба рӯйхати далелҳои дар қавс, ҷудо бо вергул ва ҷисм аз вазифаи дар Мисолҳои.
Дар ин мисол, ду функсияҳоро тасвир, ки ба таъмин AJAX-мубодилаи байни саҳифа ва дар сервер. Қисман scXHR дар боло тавсиф, зеро дастрас дар ду InitXML, ва дар дохили WaitReplySC.
Номи вазифа ва параметри "Функсияи"
нусхаи асинхронӣ вуҷуд дорад, пешниҳод шудааст, вақте ки функсияи JavaScript-функсияи пас аз вокуниш ба сервер номида мешавад. Ҳамин тавр, дарёфти ҷавоб аз сервер, WaitReplySC дастёбии теги саҳифа, пур маълумоти гирифташуда ва мемиронад вазифаҳои дигар, ки метавонад инчунин дархости навбатӣ ба сервер оғоз.
Дар ин ҷо он аст, низ қайд кардан зарур, ки WaitReplySC - як функсия. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Аммо дар хати scXHR.onreadystatechange = WaitReplySC он ҳамчун параметр гузашт. Ин функсия интиқоли ќоидаи умумї ба вазифаҳои дигар шударо бар мегардонад. функсияи фавран иҷро карда шавад - ќавс панҷгӯша ва параметри он (р) дод. Муслим ном танҳо, инчунин то чӣ. Функсияи занг кас, ки номи ӯ гирифта хоҳад кард.
Ба вазифаи амалӣ тавассути AJAX, ба шумо имкон медиҳад, то даъват функсияи JavaScript тавассути маълумоти аз сервер. Дар асл, фиристодани дархост ба сервер, ё хусусияти дигар метавонад дар ҳамаи нест »медонам», ки фаъолияти ӯ рӯй ва бо кадом иттилоот мебошад.
Функсияи Аз ва натиҷаи он
Ҷасади функсияи, шумо метавонед ягон операторони забон, ки, дар ҳақиқат, барои он аст, пешбинӣ нависед. Хусусиятҳои дохили шудаанд тағйирёбандаҳои дар дохил ва берун аз эълон, вале на онҳое, ки дар дигар вазифаҳо тавсиф карда шудаанд.
Бозгашти: Агар шумо хоҳед, ки вазифаи баргардад Дар натиҷа, шумо метавонед изҳороти бозгашти JavaScript истифода баред. Мақоми функсияи метавонад шумораи кофии изҳороти бозгашт. Ин аст, шарт нест, ки ҳамаи онҳо дар натиҷаи ҳамон навъи баргардад.
Одатан, таҳиягарон доранд ин фурсат азизу ва, вобаста ба вазъият, қарор гирифтани аз вазифаи ҳарчи зудтар.
Ин аст, зарур дар тамоми алгоритми вазифаҳои идора накунанд, вақте ки шумо метавонед дар боло ба даст.
Функсияи далелҳои
Далелҳо доранд, ба рӯйхати вазифа, ҷудо бо вергул гузашт, дар қавс замима, ва танҳо баъд аз номи вай доранд. Дар далелҳои истифода номҳои тағйирёбанда, вале шумо метавонед қимматҳои бевосита мегузарад. Барои вуқӯъ функсияи JavaScript дар як вазифа, шумо бояд номи он нишон бе ќавс.
Дар дохили функсияи далелҳои тағйирёбанда дастрас, ки дорои молу мулки дарозии аст. Шумо метавонед ба ҳар гуна вазифае, далели ба воситаи далелҳои ишора [0], далелҳои [1], ..., ба охир далелҳои [arguments.length-1].
Таѓйир додани вазифаи далели аст, дар ҳақиқат дар дохили функсия, вале на берун аз он. Бо мақсади тағйир додани чизе берун аз вазифа, оператор бояд бозгашти JavaScript истифода мебаранд, ки тавассути он ба арзиши талаб берун мегузарад.
Пас аз он ки вазифаи худро анҷом дод, ки бо татбиқи он алоқаманд буд, нобуд хоҳад шуд. Дар рафти иҷрои функсияи метавонад тағйирёбандаҳои беруна ба истиснои онҳое, ки дар дигар вазифаҳо, аз ҷумла, онҳое, ки дар корҳои дохила тасвир тағйир.
Мо далелҳои амволи callee аст, ки пешбинӣ шудааст, то даъват функсияи аст, ки дар як вақт дода анҷом дода мешавад. Агар дар роҳи худ, нусхаи JavaScript аз функсия функсияи хоҳад recursion амалӣ менамояд.
Бо истифода аз вазифаҳои
Дар нигаронии асосии функсияҳои - барои хизмат браузери чорабинӣ. Барои ин ҳар теги қариб дорои қобилияти муайян номи ҳодиса ва вазифаи истеҳсоли он. Шумо метавонед рӯйдодҳои сершумор муайян, балки ҳар як чорабинии зикргардида танҳо як вазифаи.
Яке аз функсияи метавонад унсурҳои саҳифаи сершумор ва чанд чорабиниҳо идора. Ба воситаи «ин» параметр шумо метавонед вазифаи маълумоти дар он даъват шудааст гузаронида мешавад.
Истифодаи классикии JS-функсияҳои - ба handlers чорабинӣ оид ба элементҳои. Дар ин мисол scfWecomeGo (), функсияи ё scfWelcomeCancel () аст, ки дар шакли вуруди / баромади меҳмон даъват намуда, ҳангоми интихоби намуди фаъолияти scfMenuItemClick (ин).
Дар ин ҳолат, параметри гузашт ба «ин», ки ба шумо имкон медиҳад, то ба таври мӯъҷиза аз он чӣ аст, овозхони номида шуд омӯхта метавонем. Дар асл, JavaScript аст, то сифатан дар DOM бадан, ва он, то бароҳат ба шумо имкон медиҳад ҳракат унсурҳои он, ба ҷамъоварии маълумоти зарурӣ, ки дар саҳифаҳои динамикаи танҳо метавонад ногувор бошад.
Функсияи тавр нест, ки ба бозгашт сатри, рақам, ё вазифаи дигар. Он метавонад як HTML-унсури пурра бозмегардонад ва он, ки шумораи зарурии унсурҳои, ки бо handlers онҳо, чорабиниҳои кунанд.
Бо воситаи жойгиркунии як унсури дар саҳифаи, таҳиякунанда як вазифаи нав аст, ки хуб дар робита ба ҳалли мушкилот ва ҷавобгӯ ба манфиати меҳмонон, балки дар робита ба татбиқи хеле мушкил меорад.
Аз рушди чунин комилан барҷаста, осон ба даст рамзи модарии даст, дар зангҳои Функсияи, ки дар лаҳзаҳои ҳангоми ташаккул ё ин ки мазмуни ин ё аз саҳифа. Пеш аз он ки бо назардошти чунин самти рушди, монеъ нест, ҳама чиз хуб вазн кунед.
Дар бораи тақсимоти фикрронии
Дар таҳиякунанда дорад дар сатњи тамоми унсурҳои саҳифаи, дар ҳама чорабиниҳо фикр, ва муаррифии равшан, ки чӣ тавр ҳар воқеан рӯй медиҳад. Ин мушкил аст, аммо кори маблағи он аст.
Дар JavaScript, вазифаи мумкин аст, то баъзе аз чорабинии таъхир, ва чунин хусусиятҳо метавонанд бисёр, ва чорабиниҳо тамоюли ба паҳн ва даст ба «соҳаи намоии» -и коркардкунандагони гуногун доранд.
Дар ин мисол, дар ҷое ки пеш аз функсия номида шуд, ки бо ташаббуси як банди менюи новбари файл. Ин аст, назар пейҷинг, ки дар равзанаи танҳо ҳафт файлҳои, ки мумкин аст хориҷ карда ва коркард карда мешавад. Оё мешавад, ба монанди файли ба воситаи ангуштзанӣ ба саф, ва калидҳои тир ва блокҳои ҳафт сатрҳо кӯчиданд.
Дар ҳар ҳолат дорад, вазифаи худро дорад. Ба ибораи дигар, ки дар ин мисол оддӣ, ба шумо лозим аст ки ба навиштани як ҷуфти даҳҳо гардидани он, ки ба рӯйдодҳои гуногун рафтор хоҳад кард, ва баъзе аз ин вазифаҳои хоҳад вариантҳои гуногуни ва аз ҳолатҳое, ки воқеаҳои кард тааллуқ надорад идора.
Масалан, вақте ки аз кушода гирифтани хатти поён бояд upwardly овора шавад. Ин талаб хоҳад ё кунад интихоби нав, ки маъмули ва ба таври равшан захираи, ё ба ҳисоб хатҳои истифода функсияи JavaScript дар массиви ва барои ноил шудан ба ҳадафи шево.
Дар далелҳо ва натиҷаҳои вазифаҳо
JavaScript иҷозат медиҳад ба шумо ба оварад рамзи ба мақоми «пур-тавсиф». Одатан, вақте ки далели функсияи функсияи аст. хосият иҷозат дода, функсияи функсияи бар мегардонад. JavaScript онро мегирад, хеле оромона.
Ин як механизми хуб, аммо дар робита ба ҷои мураккаб ба татбиқи аст. Назари техникӣ имконпазир semantically таъмин намудани «функсионалии» интиқоли мантиқии танҳо аз ҷониби як таҳиякунанда баландихтисос мебошад.
Вақте, ки функсияи JavaScript дар як вазифа - дуруст, аммо вақте ки функсияи тавлид вазифа, ва дигар, мантиқи хеле мушкил ба пайравӣ аст. Дар асл, суол ин аст, ки оё ба кор бурдани малакаи, савол аст, ки ба даст овардани натиҷаи бехатар ва босифат.
нигоҳубини ташкилкунанда равшан ва осон аст. аст, мушкили нест, ба шумо лозим аст ки ҳалли, на як ишколи мисли «гумроҳӣ JavaScript амалиёти танќисї аст» , экрани холӣ, ё қатъ тамоми муҳаррики браузери.
Агар далели функсия, он гоҳ, ки таҳиякунанда ба вуқӯъ тағйирёбанда бо хосиятҳои махсуси аст, ки як рақами, на як сатри, на объект нест. Аммо истифодаи чунин як бурҳони метавонад ба он, ки ба тағйирёбандаҳои беруна тағйир ва натиҷаи иҷрои функсияи аст оварда мерасонад. Вобаста ба тағйирот, ки муносиби интиқол хоҳад шуд.
Иҷро намудани рамзи тавлидшуда
Татбиќи Кодекси иҷрои тавлидшуда дар рафти кори рамзи дигар, он ба воситаи «eval» имконпазир аст. Ин аст, ба ҳисоб намешавад, ки як роҳи ҳалли хубест, вале аксар вақт метавонед рамзро бо вазифаҳои нолозим мураккаб нест, ва ба маҳдуд ташаккули хати андаке аз рамзи JavaScript ва танҳо онро иҷро.
Дар ин мисол, номи аст stitch ташкил ба Лиг operable баъзе маълумот. Овозхони ва мазмуни маълумот барои муайян кардани шумораи гуногуни вазифаҳои гуногун, чунки чунин қарор дар ин вазъият, дар як вазъият кафолат «JavaScript-гумроҳӣ амалиёти танќисї аст» таъмин намекунад , балки бо қатъият таъсири дилхоҳ дод.
Nuance JavaScript смена парадигмаи "функсия функсияи"
Агар шумо метавонед бе frills мекунед, аз он беҳтар аст, ки ба истифода бурдани он. Ҳамаи ин имконоти хуб доранд. Албатта, дар бисёр ҳолатҳо, ин танҳо роҳи ҳалли аст.
Намунаи классикии recursion: ба factorial. Ин кофӣ мушкил барои навиштани як алгоритми, ки хоҳад ҳалқаи, балки он аст, хеле содда, шумо метавонед қимматҳои лифофа ба тела. Factorial меафзояд хеле зуд.
Ба чизҳои муқаррарии - Бо вуҷуди ин, recursion, ва функсияи функсияи дигар, ки метавонад дар іолати хабардор кунад мехонад.
Барои мисол, дар як мизи мунтазам. Ҷадвали дигар бошад сари суфра аст. Nesting нест, метавонад маҳдуд карда шавад. Навиштани барои ҳар як мизи маҷмӯи худ хусусиятҳои - айшу аз ҳад зиёд.
Чунин намунаҳои зиёде ҳастанд, ва ҳамаи ин хоҳад мушкилоти воқеӣ ва мубрами нест, зеро ки барномасозӣ. Ин аст, ки чаро ин масъала дурӯғ дар он аст, ки ягон-frills муқаррар намекунанд, то як низоми вазифаҳо, аниктараш, debugging он ва фаъолияти боэътимоди минбаъда ғамхорӣ JavaScript ва ташкилкунанда мегардад.
Similar articles
Trending Now