KompyutaProgramu

JavaScript: kazi kazi. lugha Programming JS

Mawazo maudhui ya nguvu na kuunda mtandao RESOURCES kuwa suala la kawaida. kurasa tuli na templates Web design hatimaye kukamilika kazi yao.

Hata hivyo, kisasa web-rasilimali si lazima kuwakilishwa na seti ya kurasa yanayotokana na seva na mahitaji kivinjari (JS + AJAX).

Mtandao msingi uwepo wakati wa kuwasili kwa mgeni inaweza kuwa wanandoa wa vyeo kwa ajili ya kumbukumbu, baadhi ya maandishi katika «kichwa», mistari michache ya kificho katika «mwili» na wote. mapumziko ya "mimba" katika mchakato wa mgeni - ni tovuti bora, au anayetaka kuwa mmoja.

Nafasi maelezo na asili ya kazi

опыт, наработаный многими десятилетиями. JavaScript - ni miongo uzoefu narabotany. Ina historia kubwa ya maendeleo, kisasa wenye sifa timu wabunifu watengenezaji. Lugha vizuri walidhani nje, kuaminika, nzuri na inatoa fursa kwa watengenezaji kuandika code kwa heshima na kujitegemea kuboresha.

dhana ya algorithm ni kazi hapa haipo katika kanuni. Bila shaka, developer unaweza popote kwenye ukurasa kuingiza script code kuweka ndani yake na itakuwa ni lazima ifanyike. страницы? Lakini ni nini uhakika katika kanuni, ambayo ni kunyongwa mara moja tu: wakati wa kupakia (kupakia upya) ukurasa? Je, ni rahisi kuweka maadili ya awali ya nini baadhi vigezo insignificant.

Script - mahali hapa ni maelezo sahihi ya vigezo na kazi, badala ya kipande nzuri ya andiko kwa ajili yake mwenyewe. Ni seti ya kazi ni muhimu na muhimu, labda - uhusiano wao kuheshimiana moja kwa moja, lakini mara nyingi zaidi ni tofauti. Nafasi ya maelezo ya kazi na mahali ya maombi yake ni si kitu kimoja.

Si lazima kwamba kazi itakuwa piga kazi nyingine moja kwa moja, lakini inaweza kufanyika moja kwa moja kwa njia ya malezi ya kanuni nguvu. mgeni inachukua uamuzi ndani nambari hii na inafanya kazi kazi tofauti kabisa mfumo.

mienendo kazi

mienendo kazi - si tu na si handlers sana kwa ajili ya mambo ya ukurasa ni kazi ambayo fomu mambo ya ukurasa, na ya handlers mara moja, pia, wanaweza kubadilika.

hatua unafanyika katika ukurasa, kulingana na mambo ya na mwenendo wa watazamaji wa hayo. Harakati ya panya, keyboard, vifungo, Clicks, matukio, vitu na hali nyingine kusababisha uzinduzi wa kazi muhimu.

Awali hakuna uthabiti na hakuna sambamba. Kuna jibu la kutosha kwa matukio web-rasilimali. Jinsi ya haraka JavaScript kutimiza kazi fulani inategemea wengi kiufundi (kompyuta, mistari mawasiliano) na kisemantiki (mantiki algorithm, eneo somo, maana tatizo) vipengele.

Kwa kweli twaweza sema kwamba kuna jambo amefanya kazi katika sambamba, lakini kitu kurejea baada ya kitu, lakini maana ya hili maalum siyo. Ni muhimu kwamba kazi JavaScript - ni nafasi ya kujenga jibu la kutosha kwa matendo ya wageni.

Hii mawazo mapya katika kubuni: usindikaji kusambazwa katika vilindi vya browser moja!

syntax kwa vigezo na kazi

JavaScript vigezo huwekwa katika tag «script», na katika mwili wa kazi. Kazi hufafanuliwa njia sawa. maana Maalum ya kuandika ndani ya kazi kuna kazi nyingine, lakini inaweza kuwa ni lazima kwa sababu mbalimbali, na ni nzuri kabisa.

Maelezo ya kazi kwa ujumla huanza na keyword «kazi», na kufuatiwa na jina lake, orodha ya hoja katika mabano, kutengwa kwa koma, na mwili kazi katika braces.

Katika mfano huu, kazi mbili ni ilivyoelezwa inayotoa AJAX-exchange kati ya ukurasa na server. Sehemu scXHR ilivyoelezwa hapo juu, kwa sababu inapatikana katika wawili InitXML, na katika WaitReplySC.

kazi jina na parameter "kazi"

Kuna imekuwa iliyotolewa version Asynchronous wakati JavaScript kazi kazi inaitwa baada server majibu. Hivyo, kupokea majibu kutoka kwa server, WaitReplySC hufikia ukurasa tag, hujaza taarifa kupokea na sababu kazi nyingine, ambayo inaweza pia kuanzisha ombi karibu na server.

Hapa pia ni muhimu kutambua kuwa WaitReplySC - kazi. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Lakini katika mstari scXHR.onreadystatechange = WaitReplySC ni kupita kama parameter. Hii general utawala uhamisho kazi na kazi nyingine kama vigezo. mabano pembe na akawapa parameter yake (s) - kazi lazima ifanyike mara moja. Imesimuliwa na jina tu, vizuri hivyo nini. kazi simu itafanya yule got jina lake.

utendaji kutekelezwa kupitia AJAX, utapata simu JavaScript kazi kwa njia ya data kutoka kwa seva. Kwa kweli, kutuma ombi kwa server, moja au kipengele nyingine inaweza kabisa "kujua" ambayo kazi yeye zamu, na kwa nini habari.

Kati ya kazi na matokeo yake

mwili wa kazi, unaweza kuandika waendeshaji lugha yoyote, ambao, kwa kweli, kwa ni lengo. Makala Ndani ni vigezo alitangaza ndani na nje, lakini si wale yameelezwa katika kazi nyingine.

Kama unataka kazi ya kurudi matokeo, unaweza kutumia JavaScript kurudi kauli: kurudi. mwili wa kazi inaweza kuwa na idadi ya kutosha ya taarifa za kurudi. Si lazima kwamba wote atarudi matokeo ya aina moja.

Kwa kawaida, watengenezaji ni kuheshimiwa nafasi hii na, kulingana na hali, kuamua kujitoa katika kazi kama haraka iwezekanavyo.

Si lazima kukimbia kwa njia ya algorithm nzima ya kazi, wakati unaweza kupata kutoka nyuma.

hoja kazi

Hoja ni kupita kwa orodha ya kazi, kutengwa kwa koma, ni iliyoambatanishwa katika mabano, na ni tu baada ya jina lake. hoja kutumika majina variable, lakini unaweza kupita maadili moja kwa moja. Kupita kazi JavaScript katika kazi, wewe tu haja ya kutaja jina lake bila mabano.

Ndani ya kazi inapatikana hoja variable, ambayo ina urefu mali. Unaweza kutaja kazi yoyote ya hoja kwa njia ya hoja [0], hoja [1], ... kwa hoja ya mwisho [arguments.length-1].

Kubadilisha kazi ya hoja kweli ndani ya kazi lakini si nje yake. Ili kubadilisha kitu nje ya kazi, operator lazima kutumia JavaScript kurudi, kwa njia ambayo kupita thamani required nje.

Baada ya kazi ya kukamilisha, wote alikuwa yanayohusiana na utekelezaji wake, itakuwa kuharibiwa. Wakati wa utekelezaji wa kazi inaweza kubadilika vigezo vya nje, isipokuwa zile ambazo ni maelezo kwa kazi nyingine, ikiwa ni pamoja katika mambo ya ndani.

Tuna hoja callee mali, ambayo ni nia ya kupiga kazi ambayo ni kazi kwa wakati huo. Kama sababu yenyewe, JavaScript toleo la kazi katika kazi atatekeleza recursion.

Kwa kutumia kazi

wasiwasi kuu ya kazi - kutumikia tukio browser. Ili kufanya hivyo karibu kila tag ina uwezo wa kutaja jina tukio na kazi ya viwanda yake. Unaweza kutaja matukio mbalimbali, lakini kila tukio unahitajika kazi moja tu.

kazi moja inaweza kushughulikia mambo mbalimbali ukurasa na matukio machache. Kwa njia ya chaguo «hii», unaweza kuhamisha kazi taarifa ambapo ilikuwa inaitwa.

matumizi halisi ya JS-kazi - handlers tukio vipengele. Katika mfano huu scfWecomeGo () kazi au scfWelcomeCancel () anaitwa katika mfumo pembejeo / pato la mgeni, na wakati wa kuchagua gumzo ya utendaji scfMenuItemClick (hii).

Katika kesi ya pili, kigezo kupitishwa kwa «hii», ambayo utapata kujifunza kimiujiza kutokana na kile ni diva aliitwa. Kwa kweli, JavaScript hivyo kimaelezo mwilini katika DOM, na ni hivyo kwa urahisi utapata navigate mambo yake, kukusanya taarifa muhimu kwamba kurasa mienendo unaweza tu kuwa haitabiriki.

kazi si lazima kurudi kamba, idadi, au kazi nyingine. Ni inaweza kurudi full HTML-kipengele, na ambayo ni required idadi ya vipengele, na handlers yao, matukio yao.

Kwa kuweka kipengele katika ukurasa, developer inajenga utendaji mpya ni nzuri katika suala la kutatua tatizo na kukutana na maslahi ya wageni, lakini vigumu kabisa katika suala la utekelezaji.

Kwa kuwa maendeleo ya vile kazi kikamilifu, rahisi kupata waliopotea katika kanuni ya asili, katika wito kazi, katika wakati ambapo sumu au kuwa maudhui ya moja au nyingine ya ukurasa. Kabla ya kuchukua mwelekeo kama wa maendeleo, si kuzuia vizuri uzito wa kila kitu.

Juu ya usambazaji wa mawazo

developer ina kufikiria katika ngazi ya mambo yote ya ukurasa, katika matukio yote, na kuwa na kuwasilisha wazi wa jinsi ya kila kitu hasa kinatokea. Ni vigumu, lakini ni kazi ni ya thamani yake.

Katika JavaScript, kazi zinaweza kuchelewa hadi tukio fulani, na vipengele kama inaweza kuwa na watu wengi, na matukio kuwa na tabia kueneza na kupata ndani ya "tufe ya kutoona" ya wasindikaji mbalimbali.

Katika mfano huu, mahali fulani kabla ya kazi aliitwa, ambayo ilianzisha bidhaa file navigation. Inadhaniwa paging, iliyo katika dirisha files saba tu, ambayo inaweza kuondolewa na kusindika. Inaweza kuhamia kama faili kwa kubonyeza mstari, na funguo mshale na vitalu ya mistari saba.

Katika kila kesi ina kazi yake. Kwa maneno mengine, katika mfano huu rahisi, unahitaji kuandika michache kadhaa ya makala ambayo kukabiliana na matukio mbalimbali, na baadhi ya kazi hizi kushughulikia aina ya chaguzi na hali ambazo matukio haikuwa inahusika.

Kwa mfano, wakati kuondoa mstari wa chini lazima makazi yao upwardly. Hii itahitaji aidha kufanya uchaguzi mpya ambayo kawaida na ni wazi rasilimali, au kuhesabu mistari, kutumia kazi javascript juu ya safu na kufikia lengo kifahari.

hoja na matokeo ya kazi

JavaScript utapata kuleta kanuni na "full-featured" sasa. Kwa kawaida, wakati hoja ya kazi ni kazi. Kuruhusiwa chaguo, kazi anarudi kazi. JavaScript inachukua it utulivu kabisa.

Hii ni utaratibu mzuri, lakini badala ngumu kuhusiana na utekelezaji. Kitaalam ruhusa yasiyokuwa kutoa "kazi" mantiki maambukizi tu na developer waliohitimu.

Wakati kazi JavaScript katika kazi - sawa, lakini wakati kazi inazalisha kazi, na kwamba mwingine, mantiki ni ngumu kufuata. Kwa kweli, swali siyo kama kuomba ujuzi, swali ni kupata salama na sahihi matokeo.

Developer huduma ni wazi na rahisi. Kuna tatizo, unahitaji ufumbuzi, si mdudu kama «JavaScript makosa operesheni salama» , screen tupu, au kuacha injini zote browser.

Kama hoja ni kazi, basi developer kupita variable na mali maalum, ambayo si ya simu, si kamba, si kitu. Lakini matumizi ya vile hoja inaweza kusababisha ukweli kwamba mabadiliko vigezo nje na ni matokeo ya utekelezaji kazi. Kulingana na mabadiliko ambayo itakuwa ya kutosha kuhamishwa.

Utekelezaji wa msimbo wa

Kutekeleza utekelezaji msimbo wa wakati wa kazi kanuni nyingine, inawezekana kwa njia ya «eval». Si kuchukuliwa kuwa ufumbuzi bora, lakini mara nyingi hawawezi magumu code na kazi ya lazima, na kupunguza malezi ya mstari yasiyo na maana ya JavaScript kanuni na tu nitafanya hivyo.

Katika mfano huu, kuingiza inaundwa kushona katika div operable baadhi ya taarifa. Diva na taarifa maudhui ya idadi tofauti ya nyadhifa mbalimbali, kwa sababu uamuzi huo katika hali hii haitoi hali uhakika «javascript makosa operesheni salama» , lakini imara kutoa athari taka.

Nuance JavaScript mabadiliko makubwa "kazi katika kazi"

Kama unaweza kufanya bila frills, ni vizuri matumizi yake. Yote ya chaguzi hizo ni nzuri. Bila shaka, katika kesi nyingi, ni suluhisho pekee.

Mfano mzuri wa kujirudia: factorial. Ni vigumu kutosha kuandika algorithm kwamba itakuwa kitanzi, lakini ni rahisi sana, unaweza kushinikiza maadili bahasha. Factorial ni kuongezeka kwa haraka sana.

Hata hivyo, kujirudia, na kazi wito kazi nyingine, ambayo inaweza kufanya sahihi ya kupiga tena - mambo ya kawaida.

Kwa mfano, meza mara kwa mara. meza nyingine unaweza kuwa ndio meza. Nesting haiwezi vikwazo. Andika kwa kila meza kuweka yake mwenyewe ya makala - sana ya kifahari.

Mifano hiyo ni nyingi, na yote hii ni tatizo halisi na kubwa, si kwa sababu ya programu. Hii ndiyo sababu ya tatizo lipo katika ukweli kwamba hakuna madaha wala kuanzisha mfumo wa kazi, kwa usahihi, utatuzi wake na baadae operesheni ya kuaminika kuwa JavaScript huduma, na Msanidi Programu.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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