КомпјутериПрограмирање

JavaScript: функција функција. Програмски јазик JS

Идеи динамична содржина да се формираат веб-ресурси станаа норма. Статични страници и веб дизајн шаблони конечно заврши својата мисија.

Сепак, модерната веб-ресурси нема да биде претставена со сет од страници од страна на серверот и освежување на прелистувачот (ЈС + AJAX).

Веб-базирани складиште во моментот на пристигнувањето на посетителот може да биде неколку наслови за евиденција, некој текст во «шеф», неколку линии на код во "телото" и сите. Остатокот од "да се замисли" во процесот на посетителот - тоа е идеално место, или има аспирации да биде еден.

Место описот и природата на функциите

опыт, наработаный многими десятилетиями. JavaScript - тоа е искуство narabotany децении. Таа има значителен историјата на развој, модерен квалификуван тим креаторите програмери. Јазик добро обмислен, сигурен, убава и дава реална можност за програмерите да пишуваат код за пристоен и само-подобрување.

Концептот на алгоритам е функција тука не постои во принцип. Се разбира, инвеститорот може било каде на страницата да внесете код скрипта да се стави во неа, и таа ќе биде извршена. страницы? Но, она што е поентата во кодот, кој се извршува само еднаш: кога вчитување (претовар) на страната? Дали е можно да се постави на почетните вредности на она што некои незначителни променливи.

Сценарио - на ова место е вистинскиот опис на променливи и функции, наместо еден добар дел од кодот напишан за сопствената волја. Тоа е збир на функции е од суштинско значење и важен, можеби - нивната меѓусебна директна врска, но почесто тоа е различно. Место опис на функцијата и местото на неговата примена не е иста работа.

Тоа не е неопходно дека функцијата ќе се јавите директно друга функција, но тоа може да се направи индиректно, преку формирање на динамичен код. Посетителот донесе одлука во рок од овој законик и работи доста различни функции на системот.

функционални динамика

Функционални динамика - не е само и не толку многу ракувачи доделен на страница елементи се функции кои форма на елементи на страницата, и на непосредните раководители, исто така, може да се промени.

Дејството се одвива на страната, во зависност од елементи и однесувањето на посетителите на него. Движење на глувчето, тастатура, копчиња, кликне, настани, предмети и други околности доведе до лансирањето на потребните функции.

Првично не постои конзистентност и не постои паралелно. Има соодветен одговор на настаните на веб-ресурси. Колку брзо JavaScript исполнува одредена функција зависи од многу технички (компјутер, комуникациски линии) и семантички (логика алгоритам, предмет, што значи дека проблемот) фактори.

Всушност, тоа може да се каже дека нешто има работено во паралела, но нешто ќе се претвори по нешто, но значењето на оваа посебна не е. Важно е дека функцијата го вклучите 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 на функцијата во функција ќе се спроведе рекурзија.

користење на функциите

Главната загриженост на функции - да им служи на прелистувачот на настанот. Да го направите ова скоро секој таг има способност да го наведете името на настанот и функцијата на своето производство. Можете да наведете повеќе настани, но секој случај е утврдена само една функција.

Една функција може да се справи со повеќе елементи од страната и неколку настани. Преку «овој» опција, можете да ја пренесеш на функцијата за информации кога тоа се викаше.

Класичната употреба на ЈС-функции - ракувачи настан на елементи. Во овој пример scfWecomeGo () функцијата или scfWelcomeCancel (), се нарекува во влез / излез форма на посетителот, а при изборот на начинот на работа scfMenuItemClick (тоа).

Во вториот случај, параметар предадена на овој «», кој ви овозможува да учат на чудесен начин од она што е дива бил повикан. Всушност, JavaScript е толку квалитативно вграден во ДОМ, а тоа е така во склопот овозможува да се движите низ неговите елементи, за да ги соберат потребните информации дека динамиката на страници може едноставно да бидат непредвидливи.

Функцијата нема да се врати стринг, број или друга функција. Тоа може да се врати на целосна HTML-елемент, и кој е потребниот број на елементи, со нивните секунданти, нивните настани.

Со поставување на елемент на оваа страница, инвеститорот создава нова функционалност што е добро во однос на решавање на проблемот и да ги задоволи интересите на гостите, но доста тешко во однос на имплементацијата.

Бидејќи развојот на таков целосно функционална, лесно да се изгуби во мајчин кодот, во функција повици, во моменти кога се формира или дека содржината на една или на друга страница. Пред преземањето на таква насока на развој, не го попречуваат добро тежат сè.

На дистрибуција на размислување

Инвеститорот мора да мисли на ниво на сите елементи на страницата, на сите настани, и да имаат јасна презентација за тоа како се што всушност се случува. Тоа е тешко, но работата е достоен за тоа.

Во JavaScript, функцијата може да биде одложен до некој настан, и ваквите можности може да биде многу, и настани имаат тенденција да се шири и се влезе во "сфера на видливост" на различните процесори.

Во овој пример, некаде пред функцијата се нарекува, која поведе во менито датотека навигација. Се претпоставува страничење, кој е во прозорецот само седум датотеки, кои може да се отстрани и се обработува. Може да се пресели како датотека со кликнување на ред, и стрелките на тастатурата и блокови од седум реда.

Во секој случај има своја функција. Со други зборови, во овој едноставен пример, ќе треба да напишете неколку десетици карактеристики кои ќе реагираат на различни настани, и некои од овие функции ќе се справи со различни опции и сценарија на настаните не му припаѓа.

На пример, кога отстранување на дното линија мора да биде преместен на горната страна. Ова ќе бараат или направи нова селекција што вообичаена и јасно ресурс, или да се избројат линии, користете го вклучите Javascript функција на низа и да се постигне целта домот.

Аргументи и резултати на функции

JavaScript дозволува да донесете код на "целосно опремен" статус. Нормално, кога аргументот на функцијата е во функција. Домашни опција, функцијата враќа функција. JavaScript е потребно доста смирено.

Ова е добар механизам, но доста комплицирана во однос на имплементацијата. Технички дозволена семантички обезбеди "функционална" логика пренос само од страна на квалификуван инвеститорот.

Кога функцијата JavaScript во функција - во ред, но кога функцијата генерира функција, и дека уште еден, логиката е доста тешко да се следат. Всушност, прашањето не е дали да се применуваат вештини, прашањето е да се обезбеди безбедно и точниот резултат.

нега на инвеститорот е јасна и едноставна. Постои проблем, треба решение, а не грешка како «JavaScript грешка операција е несигурен» , празен екран, или да престане на прелистувачот моторот.

Ако аргументот е во функција, тогаш инвеститорот да помине променлива со посебни својства, тоа не е голем број, не е стринг, не е предмет. Но, користењето на таков аргумент може да доведе до фактот дека промена на надворешните променливи и е резултат на извршување на функцијата. Во зависност од промените кои ќе бидат соодветни префрлени.

Извршување на генерираниот код

Спроведување на исполнување на код генерирани во текот на работата друг код, тоа е можно со помош на «eval». Тоа не се смета дека е одлично решение, но често не можат да го комплицираат код со непотребни функции, и да се ограничи формирањето на тривијални линија на JavaScript код, и едноставно да го изврши.

Во овој пример, вметнете е формирана бод во исправна div некои информации. Дива и информации содржина за различен број на различни позиции, бидејќи таква одлука во оваа ситуација не се обезбеди гарантирано ситуација «javascript грешка операција е несигурен» , но цврсто даде посакуваниот ефект.

Нијанса JavaScript промена на парадигмата "функција во функција"

Ако може да се направи без важничене, тоа е подобро да го користат. Сите овие опции се добри. Се разбира, во многу случаи, тоа е единственото решение.

Класичен пример за рекурзија: факториел. Тоа е доволно тешко да се напише алгоритам кој ќе поминете, но тоа е многу едноставна, вие може да им помогнам вредности плик. Факториел расте премногу брзо.

Сепак, рекурзија, и функциски повици друга функција, која може да донесуваат информирани за повратен повик - нормално работи.

На пример, на редовна маса. Од друга табела може да биде на маса. Вгнездување не може да биде ограничена. Напиши за секоја маса свој сет на функции - премногу луксуз.

Такви примери се бројни, а сето тоа ќе биде вистински и притискање на проблемот, а не затоа што на програмирање. Тоа е причината зошто на проблемот лежи во фактот дека не-важничене не се воспостави систем на функции, поточно, нејзината дебагирање и последователните сигурна работа станува JavaScript заштита, и програмери.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mk.birmiss.com. Theme powered by WordPress.