Computer, Programming
JavaScript: function function. Programming pinulongan JS
Ideya sa dinamikong sulod sa pagporma web-KAPANGUHAAN nahimong naandan. Nagapahulay, nagahunong mga panid ug mga templates Web design sa katapusan nahuman sa ilang misyon.
Apan, ang modernong web-kapanguhaan dili kinahanglan nga girepresentahan sa usa ka hugpong sa mga mga panid nga namugna pinaagi sa server ug sa pagpabuhi sa browser (JS + Ajax).
Web-based tipiganan sa takna sa pag-abot sa mga bisita mahimo nga usa ka magtiayon nga sa mga titulo alang sa talaan, ang uban nga teksto diha sa mga «ulo», sa pipila ka mga linya sa code diha sa mga «lawas» ug sa tanan. Ang uban sa "manamkon" sa proseso sa bisita - kini mao ang usa ka sulundon nga site, o aspiring nga mahimong usa.
Ibutang ang paghulagway ug kinaiya sa mga gimbuhaton
опыт, наработаный многими десятилетиями. JavaScript - kini usa ka kasinatian narabotany dekada. Kini adunay usa ka mahinungdanon nga kasaysayan sa kalamboan, ang modernong mga kwalipikado nga team tiglalang developers. Pinulongan naghunahuna sa, kasaligan, maanindot ug naghatag og usa ka tinuod nga oportunidad alang sa mga developers sa pagsulat code alang sa usa ka desente ug-sa-kaugalingon kalamboan.
Ang konsepto sa usa ka algorithm mao ang usa ka function dinhi wala maglungtad sa baruganan. Siyempre, ang developer mahimo bisan asa sa panid sa sal-ot sa script code sa gibutang sa niini ug kini gipatay. страницы? Apan unsa ang punto sa code, nga gipatay sa makausa lamang: sa diha nga loading (reloading) sa panid? Ang kini nga posible nga sa sa sa sa inisyal nga mga prinsipyo sa kon unsa ang pipila ka importante baryable.
Script - nga dapit niini nga mao ang matarung nga paghulagway sa mga baryable ug mga gimbuhaton, kay sa usa ka maayo nga piraso sa code nga gisulat alang sa iyang kaugalingon tungod. Kini mao ang usa ka hugpong sa mga gimbuhaton mao ang mahinungdanon ug importante, tingali - ang ilang usag direkta nga koneksyon, apan sagad kini lain-laing mga. Dapit paghulagway sa function ug sa dapit sa iyang aplikasyon dili sa sama nga butang.
Kini mao ang dili kinahanglan nga ang mga function motawag sa laing function direkta, apan kini mahimo sa dili direkta pinaagi sa pagporma sa dinamikong code. Usa ka bisita nagkinahanglan og usa ka desisyon sa sulod niini nga code ug magabuhat sa na sa lain-laing mga gimbuhaton nga sistema.
operatiba sitwasyon
Operatiba dynamics - dili lamang ug dili ingon sa daghan nga handler assign sa mga elemento panid mao ang mga gimbuhaton nga maporma ang mga elemento sa panid, ug sa diha-diha nga handlers, usab, mahimong mausab.
Ang aksyon mahitabo sa pahina, depende sa mga elemento ug kinaiya bisita sa ibabaw niini. Kalihokan sa mouse, keyboard, butones, clicks, mga panghitabo, mga butang ug uban pang mga kahimtang mosangpot sa sa paglunsad sa sa gikinahanglan nga mga gimbuhaton.
Sa orihinal walay pagkamakanunayon ug walay susama. Adunay usa ka igong tubag sa mga panghitabo web-kapanguhaan. Kon sa unsang paagi sa pagpuasa JavaScript nagtuman sa usa ka partikular nga function kini nag-agad sa daghan nga mga teknikal nga (computer, mga linya sa komunikasyon) ug semantiko (katarungan algorithm, subject, nga nagpasabot sa problema) mga hinungdan.
Sa pagkatinuod kini nga Matod nga ang usa ka butang nga nagtrabaho sa susama, apan ang usa ka butang nga mobalik human sa usa ka butang, apan ang kahulogan sa niini nga espesyal nga mao ang dili. Kini mao ang importante nga ang function JavaScript - kini mao ang usa ka oportunidad sa paghimo sa usa ka igong tubag sa mga lihok sa mga bisita.
Kini nga bag-ong panghunahuna sa design: apod-apod sa pagproseso sa mga kahiladman sa usa ka browser!
Ang syntax alang sa baryable ug mga gimbuhaton
JavaScript-baryable nga gibutang sa tag «script», ug diha sa lawas sa function. Katungdanan sa mga gihubit sa samang paagi. Espesyal nga kahulogan sa pagsulat sa sulod sa function adunay laing function, apan kini mahimong gikinahanglan alang sa mga nagkalain-laing mga rason, ug kini mao ang na makataronganon.
Paghulagway sa function sa kinatibuk nagsugod sa keyword «function», gisundan sa ngalan niini, sa listahan sa mga argumento sa parentesis, mibulag sa mga kudlit, ug ang function sa lawas sa mga tukod.
Sa panig-ingnan niini, duha ka gimbuhaton gihulagway nga makahatag Ajax-baylo sa taliwala sa mga panid ug sa server. Bahin scXHR nga gihulagway sa ibabaw, tungod kay ang anaa sa duha InitXML, ug sa sulod sa WaitReplySC.
Ang function ngalan ug sukaranan "function"
Adunay na gipresentar sa asynchronous nga bersyon sa diha nga JavaScript-function function gitawag human sa tubag server. Mao kini ang, sa pagdawat sa usa ka tubag gikan sa server, WaitReplySC accesses sa panid tag, mipuno sa impormasyon nga nadawat ug sa hinungdan sa ubang mga gimbuhaton, nga maayo pagsugod sa sunod nga hangyo ngadto sa server.
Ania kini mao ang importante usab nga timan-nga WaitReplySC - sa usa ka function. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Apan sa linya scXHR.onreadystatechange = WaitReplySC kini miagi nga usa ka sukaranan. Kini nga kinatibuk-ang pagmando sa pagbalhin function sa ubang mga gimbuhaton nga lantugi. Talinis nga bracket ug mihatag kanila sukaranan sa iyang (mga) - ang function nga gipatay diha-diha dayon. Giasoy pinaagi sa ngalan lamang, maayo mao nga kon unsa ang. Tawag function himoon sa usa nga nakakuha sa iyang ngalan.
Ang kalihukan nga gipatuman pinaagi sa Ajax, nagtugot kaninyo sa sa pagtawag sa usa ka JavaScript function pinaagi sa data nga nadawat gikan sa server. Sa pagkatinuod, ang pagpadala sa usa ka hangyo ngadto sa server, ang usa o ang uban nga mga bahin mahimo nga dili sa tanan "mahibalo" nga naglihok siya turns, ug uban sa unsa nga impormasyon.
Gikan function ug sa resulta niini
Ang lawas sa function, nga imong mahimo sa pagsulat sa bisan unsa nga operators nga pinulongan, nga, sa pagkatinuod, kay kini gituyo. Sa sulod nga mga bahin sa mga baryable gipahayag sa sulod ug sa gawas, apan dili sa mga nga gihulagway diha sa ubang mga gimbuhaton.
Kon kamo gusto nga ang function sa pagbalik sa usa ka resulta, mahimo nga mogamit sa sa mga JavaScript pagbalik pamahayag: pagbalik. Ang lawas sa function mahimo nga usa ka igo nga gidaghanon sa pagbalik mga pahayag. Kini mao ang dili kinahanglan nga ang tanan kanila mobalik ang resulta sa sa mao gihapon nga matang.
Kasagaran, mga developers nga gitahud niini nga oportunidad ug, depende sa sitwasyon, sa paghukom sa pag-atras gikan sa function sa diha nga sa mahimo.
Kini mao ang dili kinahanglan nga modagan sa tibuok algorithm sa mga gimbuhaton, sa diha nga imong mahimo og sa sayo pa.
function argumento
Argumento miagi ngadto sa listahan sa function, mibulag sa mga kudlit, gilibotan sa mga parentesis, ug human sa iyang ngalan. Ang argumento nga gigamit baryable mga ngalan, apan nga kamo mahimo nga moagi mga hiyas direkta. Sa pag-agi sa usa ka function JavaScript sa usa ka function, nga kamo kinahanglan lamang sa hingalan sa ngalan niini nga walay bracket.
Sulod sa function anaa baryable argumento, nga adunay usa ka gitas-on nga kabtangan. Ikaw mahimong mogamit sa bisan unsa nga argumento function pinaagi sa argumento [0], mga argumento [1], ... ngadto sa katapusan nga mga argumento [arguments.length-1].
Ang pag-usab sa function sa mga argumento mao gayud sulod sa function apan dili sa gawas niini. Aron sa pag-usab sa usa ka butang sa gawas sa function, ang operator kinahanglan gamiton pagbalik JavaScript, nga pinaagi niini moagi sa gikinahanglan nga bili ngadto sa gawas.
Human sa function finishes, ang tanan nga nakig-uban sa pagpatuman niini, pagalaglagon. Atol sa pagpatay sa mga function mahimong mausab sa gawas baryable, gawas niadtong mga gihulagway diha sa ubang mga gimbuhaton, lakip na niadtong anaa sa sulod.
Kita adunay mga argumento callee kabtangan, nga gituyo sa pagtawag sa usa ka function nga gihimo sa usa ka gihatag nga panahon. Kon ang hinungdan sa iyang kaugalingon, ang JavaScript nga bersyon sa function sa function magpatuman recursion.
Pinaagi sa paggamit sa mga gimbuhaton
Ang nag-unang kahingawa sa mga gimbuhaton - sa pag-alagad sa maong kalihukan browser. Sa pagbuhat niini hapit tanang tag ang abilidad sa hingalan sa usa ka ngalan nga event ug function sa iyang manufacturing. Ikaw mahimo hingalan daghang mga panghitabo, apan ang matag event gipakita lamang sa usa ka function.
Usa ka function mahimo pagdumala sa daghang mga elemento panid ug sa pipila ka mga hitabo. Pinaagi sa «niining» kapilian, nga imong mahimo sa pagbalhin sa impormasyon function diin kini gitawag.
Ang classic nga paggamit sa JS-gimbuhaton - ang mga handlers event sa ibabaw sa mga elemento. Sa panig-ingnan niini nga scfWecomeGo () function o scfWelcomeCancel () gitawag sa input / output sa dagway sa mga bisita, ug sa diha nga pagpili sa mga operating mode scfMenuItemClick (kini).
Sa ulahing mga kaso, ang mga sukaranan milabay sa «niini», nga nagtugot kaninyo sa milagrosong paagi makakat-on gikan sa unsa ang diva gitawag. Sa pagkatinuod, JavaScript kaayo qualitatively gitisok diha sa DOM, ug kini mao nga sayon nagtugot kaninyo sa navigate elemento niini, sa pagkolekta sa gikinahanglan nga impormasyon nga ang mga mga panid kaabtikon mahimo lamang nga unpredictable.
function ang dili nga mobalik sa usa ka hilo, gidaghanon, o sa uban nga mga function. Kini mobalik sa usa ka bug-os nga HTML-elemento, ug nga mao ang gikinahanglan nga gidaghanon sa mga elemento, uban sa ilang mga handlers, sa ilang mga mga panghitabo.
Pinaagi sa pagbutang sa usa ka elemento sa panid, ang developer nagmugna sa usa ka bag-o nga kalihukan nga maayo sa mga termino sa pagsulbad sa problema ug sa pagsugat sa mga interes sa mga bisita, apan na lisud nga sa mga termino sa pagpatuman.
Sukad sa kalamboan sa ingon nga sa usa hingpit nga mapuslanon, sayon na nawala sa lumad nga code, sa function tawag, sa mga higayon sa diha nga nag-umol o nga ang sulod sa usa o sa lain sa mga panid. Sa wala pa sa pagkuha sa maong usa ka direksyon sa kalamboan, dili makapugong sa usa ka atabay weigh sa tanang butang.
Sa apod-apod sa panghunahuna
developer adunay sa paghunahuna sa ang-ang sa tanan nga mga elemento sa panid, sa tanan nga mga panghitabo, ug ang usa ka tin-aw nga presentasyon sa kon sa unsang paagi ang tanan nga butang sa tinuod mahitabo. Kini mao ang lisud, apan ang buhat mao ang bili niini.
Sa JavaScript, ang function mahimong malangan hangtod sa pipila ka mga panghitabo, ug ang maong mga bahin mahimo nga daghan, ug mga hitabo nga adunay usa ka kalagmitan sa mikaylap ug ngadto sa "dapit sa visibility" sa mga nagkalain-laing mga processors.
Sa panig-ingnan niini nga, sa dapit sa wala pa ang function gitawag, nga gipasiugdahan sa usa ka butang file tabok-tabok menu. Kini gituohan paging, nga anaa sa bintana file pito ka lang, nga mahimo nga gikuha ug proseso. Mahimo nga mibalhin ingon sa usa ka file pinaagi sa pagklik sa laray, ug sa mga udyong yawe ug mga bloke sa pito ka laray nga gihulma.
Sa matag kaso adunay iyang kaugalingon nga function. Sa laing mga pulong, sa niini nga yano nga panig-ingnan, nga kamo kinahanglan sa pagsulat sa usa ka magtiayon nga sa mga dosena sa mga bahin nga reaksiyon sa nagkalain-laing mga panghitabo, ug ang pipila niini nga mga gimbuhaton nga pagdumala sa usa ka matang sa mga kapilian ug mga kahimtang nga ang mga hitabo nga wala iya.
Pananglitan, sa dihang sa pagwagtang sa mga ubos nga linya kinahanglan nga displaced upwardly. Kini nagkinahanglan sa bisan sa paghimo sa usa ka bag-o nga pagpili nga komon ug tin-aw nga usa ka kapanguhaan, o pag-ihap sa mga linya, sa paggamit sa usa ka JavaScript function sa gubat ug sa pagkab-ot sa tumong elegante.
Ang mga argumento ug mga resulta sa mga gimbuhaton
nagtugot JavaScript kaninyo sa pagdala code sa "bug-os-bahin" status. Kasagaran, sa diha nga ang argumento sa mga function mao ang function. Gitugotan kapilian, ang function mobalik sa usa ka function. JavaScript nga makakuha niini na kalmado.
Kini mao ang usa ka maayo nga mekanismo, apan hinoon komplikado sa relasyon ngadto sa pagpatuman. Teknikal permissible semantically paghatag og "functional" katarungan transmission lamang pinaagi sa usa ka kwalipikado nga Developer.
Sa diha nga ang usa ka function JavaScript sa usa ka function - sa tanan nga matarung, apan sa dihang ang function og usa ka function, ug nga sa lain, ang katarungan mao na lisud nga sa pagsunod. Sa pagkatinuod, ang pangutana mao ang dili kon sa paggamit sa mga kahanas, ang pangutana mao ang pag-angkon sa luwas ug husto nga resulta.
pag-atiman Developer mao ang tin-aw ug yano. Adunay usa ka problema, kamo kinahanglan nga usa ka solusyon, dili sa usa ka bug sama sa «JavaScript sayop sa operasyon mao ang kasegurohan» , usa ka blangko nga screen, o mohunong sa tanan nga browser engine.
Kon ang argumento mao ang usa ka function, nan ang developer sa pag-agi sa usa ka baryable uban sa espesyal nga kabtangan, nga dili usa ka numero, dili sa usa ka hilo, dili usa ka butang. Apan sa paggamit sa ingon nga usa ka argumento modala ngadto sa sa kamatuoran nga ang-usab sa gawas baryable ug mao ang resulta sa mga function pagpatay. Depende sa mga kausaban nga mahimong igo gibalhin.
Pagpatay sa namugna code
Pagpatuman sa pagpatay code namugna sa dagan sa buhat sa ubang mga code, kini mao ang posible nga pinaagi sa «eval». Kini dili giisip nga usa ka maayo kaayo nga solusyon, apan sa kasagaran dili complicate ang code sa wala kinahanglana nga mga gimbuhaton, ug sa limitahan sa pagtukod sa walay hinungdan nga linya sa JavaScript code ug sa yano nga ipakanaug niini.
Sa panig-ingnan, ang mga pasukip nga nag-umol stitch sa operable div pipila impormasyon. Diva ug sa sulod sa impormasyon alang sa lain-laing mga gidaghanon sa mga lain-laing mga posisyon, tungod kay ang maong usa ka desisyon sa niini nga kahimtang wala paghatag sa usa ka garantiya kahimtang «JavaScript sayop sa operasyon mao ang kasegurohan» , apan lig-on sa paghatag sa gitinguha nga epekto.
Sa buot ipasabot JavaScript paradigm shift "function sa function"
Kon imong mahimo nga walay mga frills, kini mao ang mas maayo sa paggamit niini. Kining tanan nga mga kapilian sa mga maayo. Siyempre, sa daghang mga kaso, kini mao lamang ang solusyon.
Usa ka classic nga ehemplo sa recursion: ang factorial. Kini lisud nga igo sa pagsulat sa usa ka algorithm nga kabubut-on laang, apan kini mao ang kaayo mga walay-pagtagad, nga kamo mahimo magadasmag sa mga mithi sa sobre. Factorial nagtubo kaayo sa pagpuasa.
Apan, recursion, ug function nagtawag laing function, nga sa paghimo sa Informed callback - normal nga mga butang.
Pananglitan, ang usa ka regular nga lamesa. Ang uban nga mga lamesa mahimong usa ka lamesa. Nesting dili restricted. Isulat alang sa matag lamesa sa iyang kaugalingon nga hugpong sa mga bahin - sa kaayo kaluho.
Ang maong mga panig-ingnan mao ang daghan, ug ang tanan niini mahimong usa ka tinuod ug dinalian nga problema, dili tungod sa programming. Mao nga ang problema sa mga bakak sa kamatuoran nga walay-frills dili ibutang sa usa ka sistema sa mga gimbuhaton, nga mas tukma, ang iyang debugging ug sunod-sunod nga kasaligan nga operasyon mahimo JavaScript pag-atiman, ug Developer.
Similar articles
Trending Now