CyfrifiaduronRhaglennu

JavaScript: swyddogaeth swyddogaeth. JS iaith rhaglennu

Syniadau cynnwys deinamig i ffurfio gwe-ADNODDAU wedi dod yn norm. tudalennau statig a dylunio templedi We gwblhau eu cenhadaeth o'r diwedd.

Fodd bynnag, nid oes rhaid i gael ei gynrychioli gan set o dudalennau a gynhyrchir gan y gweinydd modern gwe-adnodd ac adnewyddu'r porwr (JS + AJAX).

Gall ystorfa ar y we ar hyn o bryd y dyfodiad yr ymwelydd yn un neu ddau o deitlau ar gyfer y cofnod, mae rhai testun yn y «pen», ychydig o linellau o god yn y «corff» a phob. Mae gweddill o "beichiogi" yn y broses o ymwelwyr - mae'n safle delfrydol, neu anelu at fod yn un.

Rhowch y disgrifiad a natur y swyddogaethau

опыт, наработаный многими десятилетиями. JavaScript - mae'n degawdau o brofiad narabotany. Mae ganddi hanes sylweddol o ddatblygiad, tîm cymwys modern crewyr datblygwyr. Iaith yn dda meddwl allan, yn ddibynadwy, yn hardd ac yn rhoi cyfle gwirioneddol i ddatblygwyr i ysgrifennu cod ar gyfer gweddus a hunan-wella.

Mae'r cysyniad o algorithm yn swyddogaeth nad yma yn bodoli mewn egwyddor. Wrth gwrs, gall y datblygwr yn unrhyw le ar y dudalen i fewnosod cod sgript i'w roi i mewn iddo a bydd yn cael ei weithredu. страницы? Ond beth yw'r pwynt yn y cod, sy'n cael ei gweithredu unwaith yn unig: wrth lwytho (ail-lwytho) y dudalen? A yw'n bosibl i osod y gwerthoedd cychwynnol o hyn y mae rhai newidynnau ddi-nod.

Sgript - y lle hwn yn y disgrifiad cywir o newidynnau a swyddogaethau, yn hytrach na darn da o god ysgrifenedig ar gyfer ei fwyn ei hun. Mae'n set o swyddogaethau hanfodol ac yn bwysig, efallai - eu cysylltiad uniongyrchol i'r ddwy ochr, ond yn fwy aml mae'n wahanol. Nid yw disgrifiad Man swyddogaeth a lle ei gais yn yr un peth.

Nid oes angen y bydd y swyddogaeth yn galw swyddogaeth arall yn uniongyrchol, ond gellir ei wneud yn anuniongyrchol drwy ffurfio cod deinamig. Mae ymwelydd yn cymryd penderfyniad o fewn y cod hwn ac yn gweithio yn eithaf gwahanol swyddogaethau system.

deinameg swyddogaethol

deinameg Swyddogaethol - nid yn unig ac nid yn gymaint drinwyr neilltuo i elfennau dudalen yn swyddogaethau sy'n ffurfio elfennau o'r dudalen, ac y trinwyr unwaith, hefyd, yn gallu newid.

Mae'r camau gweithredu yn digwydd ar y dudalen, yn dibynnu ar yr elfennau ac ymddygiad ymwelwyr arno. Symud y llygoden, bysellfwrdd, botymau, cliciau, digwyddiadau, eitemau ac amgylchiadau eraill yn arwain at lansiad y swyddogaethau angenrheidiol.

Yn wreiddiol nid oes cysondeb ac nid oes unrhyw cyfochrog. Mae ymateb digonol i'r digwyddiadau gwe-adnoddau. Sut JavaScript gyflym cyflawni swyddogaeth benodol, mae'n dibynnu ar lawer technegol (cyfrifiadur, llinellau cyfathrebu) a semantig (algorithm rhesymeg, maes pwnc, sy'n golygu y broblem) ffactorau.

Yn wir gellir dadlau bod rhywbeth wedi gweithio ochr yn ochr, ond bydd rhywbeth yn troi ar ôl rhywbeth, ond nid ystyr hwn arbennig yn. Mae'n bwysig bod y swyddogaeth JavaScript - mae'n gyfle i greu ymateb digonol i weithredoedd yr ymwelydd.

Mae'r meddylfryd newydd yn y cynllun: ddosbarthwyd prosesu ym mherfeddion porwr sengl!

Y cystrawen ar gyfer newidynnau a swyddogaethau

JavaScript-newidynnau yn cael eu rhoi yn y tag «sgript», ac yng nghorff y swyddogaeth. Swyddogaethau yn cael eu diffinio yn yr un ffordd. ystyr arbennig i ysgrifennu y tu mewn i'r swyddogaeth, mae swyddogaeth arall, ond efallai y bydd angen am wahanol resymau, ac mae'n eithaf rhesymol.

Disgrifiad y swyddogaeth gyffredinol yn dechrau gyda'r allweddair «swyddogaeth», ac yna ei enw, y rhestr o ddadleuon mewn cromfachau, wedi'u gwahanu gan atalnodau, a'r corff swyddogaeth mewn braces.

Yn yr enghraifft hon, yn cael eu disgrifio ddwy swyddogaeth sy'n darparu AJAX-gyfnewid rhwng y dudalen a 'r gweinyddwr. Yn rhannol scXHR a ddisgrifir uchod, gan fod ar gael yn y ddwy InitXML, ac o fewn WaitReplySC.

Enw swyddogaeth ac paramedr "swyddogaeth"

Mae wedi cael ei gyflwyno i'r fersiwn asynchronous pan fydd galw swyddogaeth JavaScript-swyddogaeth yn ôl y ymateb y gweinydd. Felly, gan dderbyn ymateb gan y gweinydd, WaitReplySC mynediad y tag dudalen, yn llenwi'r wybodaeth a dderbyniwyd ac yn achosi swyddogaethau eraill, a all yn dda yn cychwyn y cais nesaf at 'r gweinyddwr.

Yma, mae hefyd yn bwysig nodi bod WaitReplySC - swyddogaeth. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Ond yn unol scXHR.onreadystatechange = WaitReplySC caiff ei drosglwyddo fel paramedr. Mae'r swyddogaeth hon yn trosglwyddo rheol gyffredinol i swyddogaethau eraill fel paramedrau. cromfachau pigfain a rhoddodd ei paramedr (au) hwy - bydd y swyddogaeth yn cael ei weithredu ar unwaith. Hadrodd gan enw yn unig, yn dda felly beth. Bydd swyddogaeth Call yn gwneud yr un sy'n cael ei henw.

Mae'r ymarferoldeb gweithredu drwy AJAX, yn eich galluogi i alw swyddogaeth JavaScript drwy'r data a dderbyniwyd gan y gweinydd. Yn wir, anfon cais at y gweinydd, un neu nodwedd arall efallai na fydd o gwbl "gwybod" sy'n gweithredu hi'n troi, a pha wybodaeth.

swyddogaeth allan a'i canlyniad

Mae corff y swyddogaeth, gallwch ysgrifennu unrhyw weithredwyr iaith, sydd, mewn gwirionedd, er y'i bwriadwyd. Nodweddion Y tu mewn yn cael eu newidynnau datgan y tu mewn a'r tu allan, ond nid y rhai sy'n cael eu disgrifio yn swyddogaethau eraill.

Os ydych am i'r swyddogaeth ddychwelyd canlyniad, gallwch ddefnyddio'r datganiad dychwelyd JavaScript: dychwelyd. Efallai y bydd y corff y swyddogaeth fod nifer digonol o ddatganiadau dychwelyd. Nid oes angen y bydd pob un ohonynt yn dychwelyd y canlyniad yr un fath.

Yn nodweddiadol, datblygwyr yn barchedig y cyfle hwn ac, yn dibynnu ar y sefyllfa, penderfynu tynnu'n ôl oddi wrth y swyddogaeth cyn gynted ag y bo modd.

Nid oes angen i redeg trwy algorithm gyfan o swyddogaethau, pryd y gallwch gael yn gynharach.

dadleuon swyddogaeth

Mae dadleuon yn cael eu pasio at y rhestr swyddogaeth, wedi'u gwahanu gan atalnodau, wedi'u hamgáu mewn cromfachau, ac yn union ar ôl ei henw. Mae'r dadleuon a ddefnyddiwyd enwau amrywiol, ond gallwch basio gwerthoedd yn uniongyrchol. I basio swyddogaeth JavaScript mewn swyddogaeth, dim ond angen i chi nodi ei enw heb cromfachau.

Y tu mewn i'r swyddogaeth yw dadleuon amrywiol ar gael, sydd â eiddo hyd. Gallwch gyfeirio at unrhyw swyddogaeth ddadl trwy ddadleuon [0], dadleuon [1], ... i'r dadleuon olaf [arguments.length-1].

Newid swyddogaeth y ddadl mewn gwirionedd y tu mewn i'r swyddogaeth, ond nid y tu allan iddo. Er mwyn newid rhywbeth y tu allan i'r swyddogaeth, rhaid i'r gweithredwr yn defnyddio JavaScript ddychwelyd, lle pasio gwerth ofynnol i'r tu allan.

Ar ôl y swyddogaeth i ben, bydd yr holl a oedd yn gysylltiedig â'i weithredu, yn cael eu dinistrio. Yn ystod gweithredu i roi'r swyddogaeth newid y newidynnau allanol, ac eithrio'r rhai sy'n cael eu disgrifio yn swyddogaethau eraill, gan gynnwys y rheini yn y tu mewn.

Mae gennym dadleuon eiddo callee, a fwriadwyd i alw swyddogaeth sy'n cael ei berfformio ar adeg benodol. Os yw achos ei hun, bydd y fersiwn JavaScript y swyddogaeth yn y swyddogaeth yn gweithredu recursion.

Defnyddio swyddogaethau

Y prif bryder o swyddogaethau - i wasanaethu'r porwr digwyddiad. Er mwyn gwneud hyn mae bron pob tag y gallu i bennu enw'r digwyddiad a swyddogaeth ei weithgynhyrchu. Gallwch nodi digwyddiadau lluosog, ond mae pob digwyddiad yn cael ei nodi ond un swyddogaeth.

Gall un swyddogaeth drin elfennau dudalen lluosog a ychydig o ddigwyddiadau. Trwy'r «hon» opsiwn, gallwch drosglwyddo'r swyddogaeth gwybodaeth lle y gelwid.

Mae'r defnydd glasurol o JS-swyddogaethau - y trinwyr digwyddiad ar yr elfennau. Yn yr enghraifft hon scfWecomeGo () Enw'r swyddogaeth neu scfWelcomeCancel () yn y ffurf mewnbwn / allbwn yr ymwelydd, ac wrth ddewis y dull gweithredu scfMenuItemClick (hwn).

Yn yr achos olaf, y paramedr trosglwyddo i «hwn», sy'n eich galluogi i ddysgu yn wyrthiol o'r hyn sydd diva ei alw. A dweud y gwir, JavaScript mor fewnblannu ansoddol yn y DOM, ac mae'n cael ei mor gyfleus yn eich galluogi i lywio ei elfennau, i gasglu'r wybodaeth angenrheidiol y gall y deinameg tudalennau yn syml fod yn anrhagweladwy.

Nid oes rhaid i'r swyddogaeth i ddychwelyd llinyn, rhif, neu swyddogaeth arall. Gall dychwelyd HTML-elfen llawn, ac sydd yn y nifer gofynnol o elfennau, gyda'u trafodwyr, eu digwyddiadau.

Drwy osod elfen ar y dudalen, y datblygwr yn creu functionality newydd sy'n dda o ran datrys y broblem ac yn bodloni buddiannau'r ymwelwyr, ond yn eithaf anodd o ran gweithredu.

Ers datblygu'r fath gwbl weithredol, yn hawdd i fynd ar goll yn y cod frodorol, mewn galwadau swyddogaeth, mewn eiliadau pan ffurfiwyd neu bod cynnwys un neu un arall o'r dudalen. Cyn cymryd cyfarwyddyd o'r fath o ddatblygiad, nid yn rhwystro dda pwyso popeth.

Ar ddosbarthiad o feddwl

Mae'r datblygwr wedi i feddwl ar lefel pob elfen o'r dudalen, ym mhob digwyddiad, a chael cyflwyniad clir o sut mae popeth yn digwydd mewn gwirionedd. Mae'n anodd, ond mae'r gwaith yn werth yr ymdrech.

Yn JavaScript, efallai y bydd y swyddogaeth yn cael ei ohirio tan ryw ddigwyddiad, a gall nodweddion o'r fath fod yn llawer, a digwyddiadau yn tueddu i ledaenu a mynd i mewn i'r "cylch gwelededd" y gwahanol proseswyr.

Yn yr enghraifft hon, yn rhywle cyn y swyddogaeth ei alw, a gychwynnwyd eitem ddewislen ffeil llywio. Tybir paging, hynny yw yn y ffenestr dim ond saith ffeil, y gellir eu tynnu a'u prosesu. Gellir eu symud fel ffeil drwy glicio ar y rhes, a'r bysellau saeth a blociau o saith rhes.

Ym mhob achos mae ei swyddogaeth ei hun. Mewn geiriau eraill, yn yr enghraifft hon yn syml, mae angen i chi ysgrifennu un neu ddau o ddwsinau o nodweddion a fydd yn ymateb i amryw o ddigwyddiadau, a bydd rhai o'r swyddogaethau hyn yn trin amrywiaeth o opsiynau a sefyllfaoedd nad oedd y digwyddiadau oedd yn perthyn.

Er enghraifft, wrth gael gwared ar y llinell waelod rhaid dadleoli upwardly. Bydd hyn yn gofyn naill ai wneud dewis newydd sy'n cyffredin ac amlwg yn adnodd, neu i gyfrif llinellau, defnyddiwch swyddogaeth javascript ar yr amrywiaeth ac i gyrraedd y nod cain.

Mae'r dadleuon a chanlyniadau swyddogaethau

JavaScript yn eich galluogi i ddod â chyfundrefn at y statws "llawn-ymddangos". Fel arfer, pan fydd y ddadl y swyddogaeth yw swyddogaeth. opsiwn Allowed, y swyddogaeth yn dychwelyd swyddogaeth. JavaScript yn mynd ag ef yn eithaf bwyllog.

Mae hwn yn ddull da, ond yn hytrach cymhleth o ran gweithredu. Yn dechnegol ganiateir semantig yn darparu trosglwyddo rhesymeg "swyddogaethol" yn unig gan ddatblygwr cymwys.

Pan fydd swyddogaeth JavaScript mewn swyddogaeth - i gyd yn iawn, ond pan fydd y ffwythiant yn cynhyrchu swyddogaeth, a bod un arall, mae'r rhesymeg yn eithaf anodd ei ddilyn. Mewn gwirionedd, nid yw'r cwestiwn yw a ddylid cymhwyso'r sgiliau, y cwestiwn yw cael canlyniad diogel a chywir.

gofal Datblygwr yn glir ac yn syml. Mae problem, rydych angen ateb, nid nam fel «JavaScript gwall y llawdriniaeth yn ansicr» , sgrin wag, neu atal pob peiriant porwr.

Os yw'r ddadl yn swyddogaeth, yna bydd y datblygwr i basio newidyn gydag eiddo arbennig, nid yw bod nifer, nid llinyn, nid gwrthrych. Ond gall y defnydd o dadl o'r fath yn arwain at y ffaith bod newid y newidynnau allanol ac yn ganlyniad y gweithredu swyddogaeth. Yn dibynnu ar y newidiadau a fydd yn ddigonol a drosglwyddwyd.

Cyflawni cod a gynhyrchir

Gweithredu cod gweithredu a gynhyrchir yn y cwrs o waith cod arall, mae'n bosibl drwy gyfrwng «eval». Nid yw'n cael ei ystyried i fod yn ateb ardderchog, ond yn aml ni all gymhlethu, mae'r cod â swyddogaethau diangen ac i gyfyngu ffurfio llinell dibwys o god JavaScript ac yn syml gyflawni.

Yn yr enghraifft hon, mae'r mewnosodiad yn cael ei ffurfio i mewn i pwyth div operable rhywfaint o wybodaeth. Diva a chynnwys gwybodaeth ar gyfer gwahanol nifer o safleoedd gwahanol, gan nad penderfyniad o'r fath yn y sefyllfa hon yn darparu sefyllfa gwarantedig «javascript gwall y llawdriniaeth yn ansicr» , ond yn gadarn yn rhoi yr effaith a ddymunir.

Naws JavaScript newid patrwm "swyddogaeth yn y swyddogaeth"

Os gallwch chi ei wneud heb y ffrils, mae'n well defnyddio. Mae pob un o'r opsiynau hyn yn dda. Wrth gwrs, mewn llawer o achosion, mae'n yw'r unig ateb.

Enghraifft glasurol o recursion: yr ffactoraidd. Mae'n ddigon anodd i ysgrifennu algorithm a fydd dolen, ond mae'n syml iawn, gallwch wthio gwerthoedd amlen. Ffactoraidd yn tyfu'n rhy gyflym.

Fodd bynnag, mae recursion, a swyddogaeth yn galw swyddogaeth arall, sy'n gallu gwneud alwad yn ôl gwybodus - pethau arferol.

Er enghraifft, tabl rheolaidd. Efallai y bydd y tabl arall fod yn dabl. Ni ellir Nythu yn cael ei gyfyngu. Ysgrifennu ar gyfer pob bwrdd ei gyfres ei hun o nodweddion - gormod o moethus.

Mae enghreifftiau o'r fath yn niferus, a bydd hyn i gyd yn broblem real a gwasgu, nid oherwydd o raglenni. Dyna pam y broblem yn gorwedd yn y ffaith nad oes unrhyw-frills yn sefydlu system o swyddogaethau, yn fwy penodol, ei debugging a gweithrediad dibynadwy dilynol yn dod gofal JavaScript, a Datblygwr.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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