Coimpiutairean, Prògramadh
JavaScript: adhbhar gnìomh. Programming cànan JS
Beachdan fiùghantach a chruthachadh clàr na làraich-lìn GOIREASAN air a bhith air an àbhaist. Static duilleagan-lìn is teamplaidean dealbhadh crìochnaichte mu dheireadh aca a rùin.
Ach, nuadh-lìn an goireas nach eil air an riochdachadh le seata de na duilleagan a chruthachadh leis an fhrithealaiche agus an ùrachadh a 'bhrobhsair (JS + Ajax).
-Lìn stèidhichte repository aig àm nuair a thàinig an luchd-tadhail a bhith a 'chàraid de thiotalan airson a' chlàir, ann an cuid de teacs «ceann», beagan loidhnichean còd ann an «chorp» agus a h-uile. Tha an còrr de "smuaineachadh" anns a 'phròiseas de luchd-tadhail - tha e air leth an làraich, no ag obair a dh'ionnsaigh a bhith mar aon.
Cur an tuairisgeul agus nàdar de dhreuchdan
опыт, наработаный многими десятилетиями. JavaScript - tha e an eòlas narabotany deicheadan. Tha mòr eachdraidh leasachadh, nuadh-cruthachaidh teisteanas sgioba leasachaidh. Cànain math a 'smaoineachadh a-mach, earbsach, bòidheach agus a' toirt fìor chothrom do luchd-leasachaidh a sgrìobhadh code for dòigheil agus fèin-leasachadh.
Chaidh bun-bheachd an algairim air a bheil obair seo nach eil ann am prionnsabal. Gu dearbh, na leasaiche urrainn an àite sam bith air an duilleag a chur a-steach an còd sgriobt a chur a-steach ann agus thèid e bàs. страницы? Ach dè an t-àite anns a 'Chòd, a tha air a chur gu bàs ach aon uair: nuair a luchdadh (reloading) an duilleag-sa? Tha e comasach a chur a 'chiad luachan dè cuid shuarach caochladairean.
Sgriobt - àite seo a tha an làimh dheis tuairisgeul caochladairean agus dreuchdan, seach math pìos code a sgrìobhadh air a shon fhèin. Tha e seata de ghnìomhan a tha riatanach agus cudromach, 's dòcha - ceangal dìreach a chèile, ach nas trice tha e eadar-dhealaichte. Place tuairisgeul na dreuchd agus an t-àite a 'tagradh nach eil e an aon rud.
Chan eil e riatanach gu bheil an dhleastanas a ghairm eile gnìomh dìreach, ach faodaidh e bhith air a dhèanamh neo-dhìreach tro bhith a 'cruthachadh fiùghantach còd. Tha neach-tadhail a 'gabhail co-dhùnadh taobh a-staigh a' Chòd seo agus ag obair gu math eadar-dhealaichte siostam dreuchdan.
fuincseanach daineamaigs
Fuincseanach daineamaigs - chan e a-mhàin agus chan eil uiread treòrachaidh a shònrachadh gu duilleag-eileamaidean a tha gnìomhan a chruthachadh a 'eileamaidean na duilleig, agus an grad-treòrachaidh, cuideachd, faodaidh atharrachadh.
Tha an gnìomh a 'gabhail àite air an duilleig, a rèir na h-eileamaidean agus giùlan luchd-tadhail air. Gluasad an luchag, meur-chlàr, putanan, cliogan, tachartasan, rudan agus suidheachaidhean eile a 'stiùireadh a' cur air bhog a dh'fheumar a choileanadh.
An toiseach chan eil cunbhalachd agus chan eil co-shìnte. Tha gu leòr freagairt ris a 'ghoireas-lìn tachartasan. Dè cho luath JavaScript 'coileanadh a dleastanasan a tha e an crochadh air tòrr teicnigeach (coimpiutair, conaltradh lines) agus Semantic (loidsig algairim, cuspair an sgìre, a' ciallachadh an duilgheadas) factaran.
Gu dearbh, faodar a argamaid gu bheil rudeigin air a bhith ag obair ann an co-shìnte, ach rudeigin a bhios Cuir dèidh rudeigin, ach tha brìgh shònraichte seo nach eil. Tha e cudromach gu bheil na JavaScript dreuchd - tha e cothrom a chruthachadh iomchaidh fhreagairt do na gnìomhan an luchd-tadhail.
Ùr seo a 'smaoineachadh ann an dealbhadh: sgaoileadh giollachd ann an doimhneachd aon brabhsair!
Tha sheantansan airson caochladairean agus gnìomhan
-JavaScript tha caochladairean air an cur ann an taga «sgriobt», agus ann an corp an gnìomh. Gnìomhan a tha air a mhìneachadh an aon dòigh. Special ciall a sgrìobhadh a-staigh a 'ghnìomh a tha fuincsean eile, ach dh'fhaodadh gum biodh e riatanach airson diofar adhbharan, agus tha e gu math reusanta.
Tuairisgeul na dreuchd san fharsaingeachd a 'tòiseachadh le prėomh «gnìomh», air a leantainn leis an ainm aige, liosta de na h-argamaidean ann bracaidean, air an sgaradh le cromagan, agus a' ghnìomh a chorp ann braces.
Anns an eisimpleir seo, dà gnìomhan a tha air am mìneachadh a thoirt seachad Ajax-iomlaid eadar an duilleag agus an fhrithealaiche. Sgothach scXHR a mhìneachadh gu h-àrd, oir tha rim faotainn an dà chuid ann InitXML, agus taobh a-staigh WaitReplySC.
Tha a 'ghnìomh ainm agus paramadair "fhoincsein"
Cha deach seachad na asynchronous dreach nuair a JavaScript-ghnìomh ghnìomh a tha an ainmeachadh an dèidh an fhrithealaiche fhreagairt. Mar sin, a 'faighinn freagairt bhon fhrithealaiche, WaitReplySC a dhol an duilleag tag, lìonadh an fhiosrachadh a fhuaireadh agus ag adhbharachadh dleastanasan eile, a dh'fhaodadh a thòiseachadh an ath-iarrtas air an fhrithealaiche.
An seo tha e cuideachd cudromach cuimhneachadh gu bheil WaitReplySC - obair. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Ach ann an loidhne scXHR.onreadystatechange = WaitReplySC a tha e seachad mar paramadair. An riaghailt choitcheann seo gluasad gu gnìomh dleastanasan eile mar chrìochan. Bhiorach eadar camagan, agus thug e iad a paramadair (s) - a 'ghnìomh a thèid a chur gu bàs anns a' bhad. Aithris le ainm-mhàin, dè cho math. Call dhleastanas a dhèanamh an tè a fhuair ia h-ainm.
Tha an comas-gnìomh a chur an gnìomh tro Ajax, a 'leigeil leat a ghairm JavaScript gnìomh tro an dàta a fhuaireadh bho na fhrithealaiche. Gu dearbh, a 'cur iarrtas gu an fhrithealaiche, aon no eile feart dòcha nach eil aig a h-uile "fios" a tha a' obraich i tionndadh, agus le dè am fiosrachadh.
Out gnìomh agus a thoradh
Tha corp an gnìomh, faodaidh tu sgrìobhadh an cànan sam bith oibrichean, a bha, gu dearbh, oir tha e an dùil. Taobh a-staigh na feartan a tha caochladairean air a ghairm a-staigh agus taobh a-muigh, ach chan eil an fheadhainn a tha air am mìneachadh ann an gnìomhan eile.
Ma tha thu airson an gnìomh a 'tilleadh thoradh air sin, faodaidh sibh a' cleachdadh na JavaScript tilleadh aithris: tilleadh. Tha corp a 'ghnìomh a dh'fhaodadh a bhith gu leòr de na h-aithrisean a' tilleadh. Chan eil e riatanach gu bheil iad uile till thoradh air an aon seòrsa.
Mar as trice, tha luchd-leasachaidh urram cothrom seo agus, a rèir an t-suidheachadh, co-dhùnadh a tharraing air ais bhon gnìomh cho luath 'sa ghabhas.
Chan eil e riatanach a 'ruith tro na h-iomlan ris an algairim de dhreuchdan, nuair a gheibh thu a-mach na bu thràithe.
gnìomh-argamaidean
Argamaidean a chur chun an liosta gnìomh, air an sgaradh le cromagan, a tha dùinte ann an bracaidean, agus tha iad dìreach an dèidh a h-ainm. Na h-argamaidean a chleachdadh caochlaideach ainmean, ach faodaidh tu dol seachad luachan dìreach. Airson JavaScript seachad a dhreuchd ann an gnìomh, tha thu dìreach a dhìth gus sònrachadh an t-ainm gun eadar camagan.
Taobh a-staigh a 'ghnìomh a tha ri fhaotainn caochlaideach argamaidean, a tha fad-seilbh. 'S urrainn dhut sùil a thoirt air argamaid sam bith gnìomh tro argamaidean [0], argamaidean [1], ... gus mu dheireadh a argamaidean [arguments.length-1].
Ag atharrachadh a 'ghnìomh den argamaid e fìor a-staigh an gnìomh ach chan eil e a-muigh. Ann an òrdugh atharrachadh rudeigin taobh a-muigh an gnìomh, an gnìomhaiche, feumaidh a 'cleachdadh JavaScript tilleadh, tro a tha a' dol seachad air an luach a tha a dhìth gus an taobh a-muigh.
An dèidh a 'ghnìomh a' crìochnachadh, a chaidh a h-uile co-cheangailte ri buileachadh a 'phlana, thèid a sgrios. Rè an bàs na dreuchd a dh'fhaodadh atharrachadh an taobh a-muigh caochladairean, ach a-mhàin an fheadhainn a tha air am mìneachadh ann an dleastanasan eile, nam measg an fheadhainn ann an leth a-staigh.
Tha sinn a 'argamaidean callee seilbh, a tha an dùil a ghairm gnìomh a tha a' cluich aig an àm. Ma tha adhbhar fhèin, an dreach JavaScript na dreuchd anns a 'dhleastanas a chur an gnìomh recursion.
Cleachdadh dhreuchdan
Tha am prìomh dhragh nan gnìomhan - a 'frithealadh an tachartais brabhsair. Gus seo a dhèanamh cha mhòr a h-uile tag aig a bheil an comas gus sònrachadh tachartas ainm agus obair a saothrachadh. 'S urrainn dhut iomadh tachartasan a shònrachadh, ach tha gach tachartais air an toirt a-mhàin aon dleastanas.
Aon dleastanas a 'làimhseachadh ioma duilleag eileamaidean agus beagan tachartasan. Tro «seo» roghainn, faodaidh sibh a ghluasad fiosrachadh gnìomh far a bheil e ainm a bha air.
Tha clasaig cleachdadh JS-dleastanasan - an tachartas-treòrachaidh air na h-eileamaidean. Anns an eisimpleir seo scfWecomeGo () obair no scfWelcomeCancel () 'ga ghairm ann an taic / toradh cruth an luchd-tadhail, agus nuair a taghadh an modh-obrachaidh scfMenuItemClick (an seo).
Sa chùis mu dheireadh, am paramadair seo seachad gus «», a leigeas leat gu miorbhuileach ionnsachadh bho rudan a tha diva ainm a bha air. Gu dearbh, tha e air JavaScript cho càileachdail implanted ann am modh DOM, agus tha e cho goireasach 'leigeil leat seòladh a eileamaidean, a' cruinneachadh am fiosrachadh riatanach gu bheil an duilleagan daineamaigs urrainn dìreach a bhith caochlaideach.
Tha a 'ghnìomh Chan eil tilleadh sreang, àireamh, no gnìomh eile. Faodaidh e tilleadh làn-eileamaid HTML, agus a tha a dhìth àireamh de eileamaidean, le an-treòrachaidh, tachartasan aca.
Le bhith a 'cur an eileamaid air an duilleig, an leasaiche a' cruthachadh ùr-chomas a tha math a thaobh fuasgladh air an trioblaid agus a 'coinneachadh ri ùidhean an luchd-tadhail, ach gu math duilich a thaobh cur an gnìomh.
Bhon a chaidh an leithid seo a leasachadh làn-èifeachdach, furasta a dhol air chall ann an dùthchasach code, ann an gnìomh gairmean, ann an amannan nuair a chruthachadh no a na th 'air aon no eile de na duilleig. Mus deach a 'gabhail a leithid de stiùireadh a leasachadh, a' cur bacadh air a dheagh cuideam a h-uile càil.
Air an sgaoileadh smaoineachaidh
Tha leasaichear na tha a 'smaoineachadh aig an ìre a h-uile eileamaid de na duilleig, aig na tachartasan air fad, agus tha soilleir taisbeanadh mar a h-uile càil a' tachairt an da-rìribh. Tha e doirbh, ach tha an obair fhiach e.
Ann JavaScript, a 'ghnìomh dòcha gun tèid dàil gus an tachartas, agus na feartan sin dh'fhaodadh gum bi mòran, agus tachartasan a tha buailteach a' sgaoileadh agus a 'faighinn a-steach "chruinne de Fàire" na diofar Pròiseasaran.
Anns an eisimpleir seo, àiteigin an làthair an gnìomh ainm a bha air, a thòiseachadh an phìos faidhl taice na seòladaireachd. Thathar a 'gabhail paging, a tha ann an uinneig dìreach seachd faidhlichean, a dh'fhaodar a thoirt air falbh agus an giullachd. Faodar a ghluais mar faidhle le putadh air an t-sreath, agus na h-iuchraichean saigheid agus blocaichean seachd sreathan.
Anns gach suidheachadh fhèin aig ghnìomh. Ann am briathran eile, ann an seo sìmplidh, mar eisimpleir, feumaidh tu a sgrìobhadh no dhà de dhusanan de na feartan a bhios a 'dèiligeadh ri diofar thachartasan, agus cuid de na gnìomhan a thèid a làimhseachadh ann an caochladh de roghainnean agus suidheachaidhean sin na tachartasan nach buineadh.
Mar eisimpleir, nuair a tha 'toirt air falbh a' bhonn loidhne feumar fhuadachadh upwardly. Bidh seo am feum an dàrna cuid ùr a dhèanamh taghadh gun cumanta agus gu soilleir stòras, no gus an cunntadh loidhnichean, 'cleachdadh javascript a dhreuchd air an ordugh agus a choileanadh an amas eireachdail.
Na h-argamaidean agus toraidhean de dhreuchdan
JavaScript leigeas leat a thoirt chòd a "làn-'nochdadh" inbhe. Mar as trice, nuair a tha an argamaid air a 'ghnìomh a tha an dleastanas. Ceadaichte roghainn, a 'ghnìomh a thilleas obair. Gabhail JavaScript e gu math socair.
'S e seo dòigh mhath, ach iom-fhillte a thaobh cur an gnìomh. Na fìrinn, a 'toirt ceadaichte semantically "fuincseanach" loidsig tar-chur a-mhàin le teisteanas a leasaiche.
Nuair a JavaScript dhreuchd ann an dreuchd - a h-uile ceart, ach nuair a tha an gnìomh a 'cruthachadh obair, agus gu bheil fear eile, an loidsig e gu math doirbh a leantainn. Gu dearbh, tha a 'cheist nach eil co-dhiù gus na sgilean, a' cheist a tha ri fhaighinn sàbhailte agus ceart thoradh.
-Leasachaidh cùram a tha soilleir agus sìmplidh. Tha duilgheadas ann, feumaidh tu a fhreagairt, nach eil e mar bug «JavaScript mearachd an t-obrachadh a tha mì-chinnteach» , bàn glacadh, no stad a chur air a h-uile brabhsair einnsean.
Ma bhios an argamaid a th 'ghnìomh, an sin air an leasaiche seachad caochladair le feartan sònraichte, nach eil àireamh, chan e sreang, chan eil nì. Ach a 'cleachdadh a leithid de argamaid faodaidh gu bheil atharrachadh an taobh a-muigh caochladairean agus mar thoradh air a' ghnìomh a chur gu bàs. An crochadh air na h-atharrachaidhean a bhios sin iomchaidh a ghluasad.
Bàs a chruthachadh code
A chur an gnìomh a chur gu bàs an còd a chruthachadh ann an cùrsa-obrach eile code, tha e comasach le bhith a «eval». Chan eil e air a mheas a bhith na shàr fuasgladh, ach gu tric chan urrainn duilghe an còd le cus ghnìomhan, agus a chuingealachadh a 'cruthachadh loidhne glè bheag de JavaScript code agus e dìreach a' cur an gnìomh.
Anns an eisimpleir seo, a 'cuir a-steach air a chruthachadh a-steach Stitch operable div beagan fiosrachaidh. Diva agus fiosrachadh susbaint eadar-dhealaichte air diofar dhreuchdan, a chionn a leithid de cho-dhùnadh ann an suidheachadh seo chan eil a 'toirt barantas suidheachadh «javascript mearachd an t-obrachadh a tha mì-chinnteach» , ach gu daingeann a thoirt a dh'iarradh buaidh.
Nuance JavaScript eisimpleir gluasad "dhreuchd ann an fhoincsein"
Mas urrainn dhut a dhèanamh gun an frills, tha e nas fheàrr a bhith ga cleachdadh. Tha iad seo uile roghainnean a tha math. Gu dearbh, ann an iomadh cùis, tha e an t-aon fhuasgladh.
A classic eisimpleir de recursion: an fheartan. Tha e doirbh gu leòr a bhith a 'sgrìobhadh an algairim a bhios na lùib, ach tha e gu math sìmplidh, faodaidh sibh putadh air a' chèis luachan. Factorial a 'fàs ro luath.
Ach, recursion, agus obair eile ag iarraidh gnìomh, a fiosraichte a dhèanamh callback - rudan àbhaisteach.
Mar eisimpleir, gu cunbhalach a 'bhòrd. Tha clàr eile a dh'fhaodadh a bhith a 'bhòrd. Nesting nach urrainn a bhith air a chuingealachadh. Sgrìobh airson gach clàr aice fhèin seata de fheartan - cus spaideil.
A leithid eisimpleirean Tha iomadh, agus a h-uile seo a bhith fìor dheatamach agus duilgheadas, oir de phrògraman. 'S e sin carson a tha an duilgheadas a' laighe ann an fhìrinn nach eil frills Chan eil stèidheachadh siostam de ghnìomhan nas mionaidiche, a debugging earbsach agus às dèidh sin obrachadh a 'fàs JavaScript cùram, agus leasachaidh.
Similar articles
Trending Now