ComputersProgramming

JavaScript: muaj nuj nqi muaj nuj nqi. Programming lus JS

Tswv yim dynamic ntsiab lus tsim web-PAB tau ua tus cai. Zoo li qub nplooj ntawv thiab templates Web tsim thaum kawg tiav lawv lub hom phiaj.

Txawm li cas los, niaj hnub web-kev pab tsis muaj yuav tsum tau sawv cev los ntawm ib tug txheej ntawm nplooj ntawv generated los ntawm cov neeg rau zaub mov thiab rov lub browser (JS + AJAX).

Web-raws li repository thaum lub caij ntawm lub sij hawm tuaj txog ntawm cov qhua yuav tsum muaj ib tug ob peb lub npe rau cov ntaub ntawv, ib co ntawv nyeem nyob rau hauv lub «taub hau», ib tug ob peb kab ntawm code nyob rau hauv lub «lub cev» thiab tag nrho. Tus so ntawm "xeeb tub" nyob rau hauv tus txheej txheem ntawm cov qhua - nws yog ib qho zoo tagnrho qhov chaw, los yog aspiring kom ib tug.

Muab qhov kev piav qhia thiab qhov xwm ntawm kev khiav dej num

опыт, наработаный многими десятилетиями. JavaScript - nws yog ib qho kev narabotany decades. Nws muaj ib tug tseem ceeb keeb kwm ntawm txoj kev loj hlob, niaj hnub tsim nyog pab creators developers. Lus zoo xav tawm, txhim khu kev qha, zoo nkauj thiab muab ib tug tiag tiag lub sij hawm rau developers sau cov code rau ib tug dlej thiab nws tus kheej-kev txhim kho.

Lub tswvyim ntawm ib tug algorithm yog ib tug muaj nuj nqi no tsis muaj nyob rau hauv tus. Ntawm cov hoob kawm, tus tsim tawm yuav nyob qhov twg nyob rau sab mus tau ntxig tsab ntawv code rau muab tso rau hauv nws thiab nws yuav tau sau. страницы? Tab sis dab tsi yog qhov point nyob rau hauv lub code, uas yog tua ib zaug xwb: thaum loading (reloading) lub sab? Yog nws tau mus teev cov thawj zaug qhov tseem ceeb ntawm li cas ib txhia tsis tseem ceeb txaus zog.

Tsab ntawv - qhov no qhov chaw yog txoj cai piav qhia ntawm ntau yam thiab kev khiav dej num, es ib tug zoo daim code sau ntawv rau nws tus kheej sake. Nws yog ib tug txheej ntawm kev khiav dej num yog ib qho tseem ceeb thiab tseem ceeb, tej zaum - lawv kev sib nrig sib ncaj kev twb kev txuas, tab sis ntau zaus nws txawv. Qhov chaw hauj lwm ntawm cov nuj nqi thiab qhov chaw ntawm nws daim ntawv thov yog tsis tau tib yam tshaj plaws.

Nws yog tsis tsim nyog hais tias cov nuj nqi yuav hu lwm muaj nuj nqi ncaj qha, tab sis nws yuav ua tau kov los ntawm cov tsim ntawm dynamic code. Ib tug qhua yuav siv sij hawm ib tug txiav txim tsis pub dhau no code thiab ua hauj lwm ntau heev system zog.

haumxeeb puab

Kev puab - yog tsis tsuas thiab tsis yog li ntawd ntau npaum li cas handlers muab rau page ntsiab yog lub zog uas tsim lub ntsiab ntawm cov nplooj ntawv, thiab ntawm lub tam sim ntawd handlers, dhau lawm, muaj peev xwm hloov.

Qhov kev txiav txim yuav siv sij hawm qhov chaw nyob rau cov nplooj ntawv, nyob ntawm seb lub ntsiab thiab qhua tus cwj pwm nyob rau hauv nws. Zog ntawm tus nas, keyboard, nyees khawm, clicks, txheej xwm, yam khoom thiab lwm yam ua rau lub lub community launch ntawm qhov tsim nyog zog.

Keeb xeeb yog tsis muaj taub hau thiab tsis muaj mus tib seem. Muaj yog ib qho txaus teb mus rau lub web-kev pab cov txheej xwm. Yuav ua li cas ceev JavaScript fulfills ib tug muaj nuj nqi nws nyob rau ntau kev (computer, kev sib txuas lus kab) thiab semantic (logic algorithm, kev kawm, lub ntsiab lus qhov teeb meem) yam.

Nyob rau hauv qhov tseeb nws yuav tau muab sib cav hais tias ib yam dab tsi tau ua hauj lwm nyob rau hauv parallel, tab sis ib yam dab tsi yuav tig tom qab ib yam dab tsi, tab sis lub ntsiab lus ntawm no tshwj xeeb yog tsis. Nws yog ib qho tseem ceeb tias cov JavaScript muaj nuj nqi - nws yog ib lub sij hawm los tsim ib qho txaus cov lus teb rau cov kev ua ntawm lub qhua.

Qhov no tshiab xav nyob rau hauv lub tsim: faib ua nyob rau hauv lub depths ntawm ib tug browser!

Cov syntax rau cov tsiaj ntawv thiab kev khiav dej num

JavaScript-variables yog muab tso rau hauv lub tag «tsab ntawv», thiab nyob rau hauv lub cev ntawm cov nuj nqi. Tso cai txhais tau hais tias tib txoj kev. Tshwj xeeb ntsiab lus mus rau sau rau hauv cov kev ua muaj lwm muaj nuj nqi, tab sis nws tej zaum yuav tsim nyog rau ntau yam yog vim li cas, thiab nws yog heev tsim nyog.

Hauj lwm ntawm cov nuj nqi feem ntau pib nrog cov lo lus tseem ceeb «muaj nuj nqi», raws li los ntawm nws lub npe, daim ntawv teev cov lus sib cav sau rau hauv, sib cais los ntawm commas, thiab cov nuj nqi lub cev nyob rau hauv kev zawm hniav.

Nyob rau hauv qhov kev piv txwv, ob tug zog yog piav hais tias muab AJAX-pauv ntawm cov nplooj ntawv thiab cov neeg rau zaub mov. Tej scXHR piav saum toj no, vim hais tias muaj nyob rau hauv ob qho tib si InitXML, thiab tsis pub dhau WaitReplySC.

Cov kev ua lub npe thiab parameter "muaj nuj nqi"

Muaj tau raug nthuav lub asynchronous version thaum JavaScript-muaj nuj nqi muaj nuj nqi no yog hu ua tom qab lub neeg rau zaub mov cov lus teb. Yog li, uas tau txais ib lo lus teb los ntawm cov neeg rau zaub mov, WaitReplySC accesses cov nplooj ntawv tag, nyob hauv cov ntaub ntawv tau txais thiab ua lwm yam zog uas tej zaum yuav pib tom ntej no thov mus rau tus neeg rau zaub mov.

Ntawm no nws yog tseem ceeb heev kom nco ntsoov tias WaitReplySC - ib tug muaj nuj nqi. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Tab sis nyob rau hauv txoj kab scXHR.onreadystatechange = WaitReplySC nws yog dhau los ua ib tug parameter. Qhov no txoj cai hloov lwm lub tsev muaj nuj nqi rau lwm yam kev khiav dej num raws li tsis. Ntse nkhaus thiab muab lawv nws parameter (s) - cov nuj nqi yuav tau tseg tam sim ntawd. Narrated los ntawm lub npe xwb, zoo li cas. Hu ua yuav ua rau ib tug neeg uas tau txais nws lub npe.

Cov functionality siv ntawm AJAX, tso cai rau koj mus hu ib tug JavaScript muaj nuj nqi los ntawm cov ntaub ntawv tau txais los ntawm lub neeg rau zaub mov. Nyob rau hauv qhov tseeb, xa ib daim ntawv thov mus rau lub neeg rau zaub mov, ib tug los yog lwm yam feature yuav tsis nyob rau hauv tag nrho cov "paub" uas ua nws puv, thiab nrog dab tsi ntxiv.

Tawm muaj nuj nqi thiab nws tshwm sim

Lub cev ntawm cov nuj nqi, koj yuav tau sau tej lus tswv, uas, nyob rau hauv qhov tseeb, vim nws yog npaj. Hauv nta variables tshaj tawm hais tias sab hauv thiab sab nraud, tab sis tsis yog cov neeg uas piav nyob rau hauv lwm yam kev khiav dej num.

Yog hais tias koj xav tau tus muaj nuj nqi rov qab ntawd, koj siv tau cov JavaScript rov qab daim ntawv: xa rov qab. Lub cev ntawm cov nuj nqi tej zaum yuav ib tug txaus tus naj npawb ntawm rov qab cov nqe lus. Nws yog tsis tsim nyog hais tias tag nrho cov ntawm lawv yuav rov qab tshwm sim rau tib yam.

Feem ntau, developers yog Revered lub sij hawm no thiab, nyob ntawm seb qhov teeb meem no, txiav txim siab tawm ntawm cov nuj nqi raws li sai li sai tau.

Nws yog tsis tsim nyog los khiav los ntawm tag nrho algorithm zog, thaum koj yuav tau tawm ua ntej lawm.

muaj nuj nqi lus sib cav

Cov lus sib cav dhau mus rau lub kev ua daim ntawv teev, sib cais los ntawm commas, yog muab ntim rau sau rau hauv, thiab yog cia li tom qab nws lub npe. Cov nqe lus uas siv nce mus nce los npe, tab sis koj muaj peev xwm dhau qhov tseem ceeb ncaj qha. Yuav kom kis tau ib tug JavaScript muaj nuj nqi nyob rau hauv ib tug muaj nuj nqi, koj cia li yuav tsum qhia kom meej nws lub npe tsis nkhaus.

Hauv cov kev ua yog muaj nce mus nce los nqe lus, uas muaj ib tug ntev cov cuab yeej. Koj muaj peev xwm xa mus rau kev sib cav muaj nuj nqi los ntawm cov lus sib cav [0], cov lus sib cav [1], ... mus rau lub xeem nqe lus [arguments.length-1].

Hloov cov nuj nqi ntawm lub cav yog tiag tiag rau hauv cov kev ua tab sis tsis sab nraum nws. Nyob rau hauv thiaj li yuav hloov ib yam dab tsi sab nraum lub muaj nuj nqi, cov neeg teb xov tooj yuav tsum tau siv JavaScript rov qab, los ntawm uas dhau qhov yuav tsum tau tus nqi rau cov sab nraum.

Tom qab cov nuj nqi tag lawm, tag nrho cov uas tau txuam nrog nws cov kev siv, yuav raug rhuav tshem. Thaum lub sij hawm tua ntawm cov nuj nqi tej zaum yuav hloov rau lwm cov tsiaj ntawv, tsuas yog cov neeg uas piav nyob rau hauv lwm yam kev khiav dej num, nrog rau cov nyob rau sab hauv.

Peb muaj lus sib cav callee vaj tse, uas yog npaj kom koj hu rau ib tug muaj nuj nqi uas yog ua nyob rau ntawm ib lub sij hawm. Yog hais tias qhov ua rau nws tus kheej, lub JavaScript version ntawm cov nuj nqi nyob rau hauv cov kev ua yuav siv recursion.

siv zog

Lub ntsiab kev txhawj xeeb ntawm lub zog - mus ua hauj lwm cov kev tshwm sim browser. Ua li no yuav luag txhua txhua tag muaj lub peev xwm los qhia kom meej qho kev tshwm sim lub npe thiab muaj nuj nqi ntawm nws cov raug. Koj yuav tau qhia ntau yam txheej xwm, tab sis txhua kev tshwm sim yog qhia tsuas yog ib qho muaj nuj nqi.

Ib tug muaj nuj nqi yuav lis ntau page ntsiab thiab ib tug ob peb cov txheej xwm. Los ntawm «no» kev xaiv, koj yuav hloov cov ntaub ntawv muaj nuj nqi qhov twg nws twb hu ua.

Lub classic siv cov JS-zog - cov kev tshwm sim handlers rau lub ntsiab. Nyob rau hauv qhov kev piv txwv scfWecomeGo () muaj nuj nqi los yog scfWelcomeCancel () yog hu ua nyob rau hauv lub tswv yim / tso zis hauv daim ntawv ntawm cov qhua, thiab thaum xaiv cov kev khiav hauj lwm hom scfMenuItemClick (qhov no).

Nyob rau hauv lub caij nyoog kawg no cov ntaub ntawv, lub parameter kis mus rau «no», uas tso cai rau koj mus txuj ci tseem ceeb kawm tau los ntawm dab tsi yog diva twb hu ua. Ua tau, JavaScript yog li ntawd qualitatively implanted nyob rau hauv lub dom, thiab nws yog li ntawd conveniently tso cai rau koj mus rau taw nws hais, mus sau cov ntaub ntawv tsim nyog hais tias cov nplooj ntawv puab muaj peev xwm tsuas ua tau unpredictable.

Cov nuj nqi tsis tau rov qab mus ib txoj hlua, tooj, los yog lwm yam muaj nuj nqi. Nws yuav tau rov qab ib tug tag nrho cov HTML-lub caij, thiab uas yog yuav tsum tau tus xov tooj ntawm cov ntsiab, nrog lawv cov handlers, lawv cov txheej xwm.

By muab ib tug caij rau cov nplooj ntawv, tus tsim tawm tsim ib tug tshiab functionality uas yog zoo nyob rau hauv cov nqe lus ntawm kev daws qhov teeb meem thiab raws li qhov kev txaus siab ntawm cov neeg tuaj saib, tab sis nyuaj heev nyob rau hauv cov nqe lus ntawm kev siv.

Txij li thaum txoj kev loj hlob ntawm xws li ib tug tag nrho haumxeeb, ib qho yooj yim mus tau poob nyob rau hauv cov haiv neeg code, nyob rau hauv muaj nuj nqi hu, nyob rau hauv lub sij hawm thaum tsim los yog hais tias cov ntsiab lus ntawm ib tug los yog lwm ntawm cov nplooj ntawv. Ua ntej yuav noj xws li ib tug kev taw qhia ntawm kev loj hlob, tsis tabkaum ib tug zoo luj txhua yam.

Nyob rau hauv lub tsev ntawm kev xav

Cov tsim tawm muaj los mus xav tias nyob rau theem ntawm tag nrho cov ntsiab ntawm cov nplooj ntawv, nyob rau tag nrho cov txheej xwm, thiab muaj ib tug meej kev nthuav qhia ntawm yuav ua li cas txhua yam ua tau tshwm sim. Nws yog ib qhov nyuaj, tab sis kev ua hauj lwm yog tsim nyog nws.

Nyob rau hauv JavaScript, cov nuj nqi yuav raug ncua kom txog thaum tej kev tshwm sim, thiab tej nta tej zaum yuav muaj ntau yam, thiab tej xwm txheej muaj ib tug ib txwm mus kis thiab tau mus rau hauv lub "kheej ntawm visibility" ntawm lub ntau yam processors.

Nyob rau hauv qhov kev piv txwv, qhov chaw ua ntej cov nuj nqi twb hu ua, uas pib ib yam khoom ua ntaub ntawv thov navigation ntawv qhia zaub mov. Nws yog assumed paging, uas yog nyob rau hauv lub qhov rais tab xya ntaub ntawv, uas yuav tsum tau muab tshem tawm thiab ua. Yuav tsiv raws li ib tug cov ntaub ntawv los ntawm txhaj rau cov kab, thiab cov xub hauv lub lag luam thiab blocks ntawm xya kab.

Nyob rau hauv txhua rooj plaub nws muaj nws tus kheej muaj nuj nqi. Nyob rau hauv lwm yam lus, nyob rau hauv no piv txwv yooj yim, koj yuav tau sau ib ob peb ntawm dozens ntawm cov nta uas yuav hnov mob rau ntau yam txheej xwm, thiab ib co ntawm cov kev khiav dej num yuav lis ntau yam ntawm cov kev xaiv thiab tej yam uas lub txheej xwm tsis tau yuav.

Piv txwv li, thaum tshem cov kab hauv qab yuav tsum tau moog upwardly. Qhov no yuav tsum yog ua ib tug tshiab kev xaiv uas yam thiab kom meej meej ib qho chaw, los yog mus rau suav kab, siv ib tug javascript muaj nuj nqi rau hauv lub array thiab mus cuag lub hom phiaj elegant.

Cov nqe lus thiab kev tshwm sim ntawm kev khiav dej num

JavaScript tso cai rau koj mus coj code mus rau lub "full-featured" raws li txoj cai. Feem ntau, thaum lub sib cav ntawm cov nuj nqi yog ib lub muaj nuj nqi. Pub kev xaiv, cov nuj nqi rov muaj nuj nqi. JavaScript yuav siv sij hawm nws heev calmly.

Qhov no yog ib tug zoo mechanism, tab sis, theej nyuab nyob rau hauv kev sib raug zoo rau kev siv. Technically permissible semantically muab "tej" logic kis tau tus mob tsuas los ntawm ib tug tsim nyog tsim tawm.

Thaum ib tug JavaScript muaj nuj nqi nyob rau hauv ib tug muaj nuj nqi - tag nrho cov cai, tab sis thaum cov nuj nqi generates ib tug muaj nuj nqi, thiab hais tias lwm, qhov logic yog heev yooj yim mus ua raws li. Nyob rau hauv qhov tseeb, cov lus nug yog tsis seb puas yuav siv cov kev txawj ntse, cov lus nug yog tau kev nyab xeeb thiab puas muaj tseeb tshwm sim.

Tsim tawm kev kho mob yog ib qhov tseeb thiab yooj yim. Muaj yog ib qho teeb meem, koj xav tau ib tug tov, tsis yog ib tug kab laum zoo li «JavaScript kev ua yuam kev lub lag luam yog insecure» , ib tug dawb paug screen, los yog tso tseg tag nrho cov browser engine.

Yog hais tias lub cav yog ib tug muaj nuj nqi, ces tus tsim tawm kom dhau ib nce mus nce los nrog tshwj xeeb, uas yog tsis ib tug xov tooj, tsis yog ib tug hlua, tsis muaj kwv. Tab sis kev siv ntawm tej kev sib cav yuav ua rau lub fact tias hloov rau lwm cov tsiaj ntawv thiab yog lub txiaj ntsim ntawm cov nuj nqi tiav. Nyob ntawm seb cov kev hloov uas yuav tsum tau txaus kis.

Tiav ntawm generated code

Siv tiav code generated nyob rau hauv lub chav kawm ntawm kev ua hauj lwm lwm yam code, nws yog tau los ntawm kev txhais tau tias ntawm «eval». Nws tsis yog hais tias yuav ib qho zoo heev cov tshuaj, tiam sis feem ntau yuav tsis cov nyom lub chaws nrog ruaj zog, thiab kom tsis txhob tsim ntawm tsis tseem ceeb kab ntawm JavaScript code thiab tsuas ua nws.

Nyob rau hauv qhov kev piv txwv, tso nrog yog tsim plooj rau hauv operable div ib co lus qhia. Diva thiab cov ntaub ntawv ntsiab lus rau txawv tus naj npawb ntawm ntau txoj haujlwm, vim hais tias xws li ib tug kev txiav txim siab nyob rau hauv no qhov teeb meem no tsis muab ib tug guaranteed teeb meem «javascript yuam kev lub lag luam yog insecure» , tab sis nrees muab cov yam nyhuv.

Nuance JavaScript paradigm ua haujlwm "muaj nuj nqi nyob rau hauv cov kev ua"

Yog hais tias koj yuav ua li cas tsis muaj tus frills, nws yog zoo dua rau nws siv. Tag nrho cov ntawm cov kev xaiv yog zoo. Ntawm cov hoob kawm, nyob rau hauv Feem ntau, nws yog ib lub xwb tshuaj.

Ib tug classic piv txwv ntawm recursion: lub factorial. Nws yog tsis yooj yim txaus los sau ib algorithm hais tias yuav voj, tab sis nws yog heev yooj yim, koj yuav thawb lub hnab ntawv tseem ceeb. Factorial yog loj hlob heev ceev ceev.

Txawm li cas los, recursion, thiab muaj nuj nqi hu lwm muaj nuj nqi, uas muaj peev xwm ua kom paub callback - ib txwm tej yam.

Piv txwv li, ib tug tsis tu ncua lub rooj. Tus lwm yam rooj tej zaum yuav ib lub rooj. Ua zes yuav tsis raug txwv. Sau ntawv rau txhua lub rooj nws tus kheej set ntawm cov nta - dhau npaum li cas cov khoom kim heev.

Tej piv txwv ntau heev heev, thiab tag nrho cov no yuav ua tau ib tug tiag tiag thiab pressing teeb meem, tsis vim hais tias ntawm lub cajmeem. Uas yog vim li cas qhov teeb meem lus dag nyob rau hauv lub fact tias tsis muaj frills tsis teem ib lub system ntawm kev khiav dej num, precisely ntau, nws debugging thiab tom ntej txhim khu kev qha cov lag luam yuav JavaScript kho mob, thiab tsim tawm.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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