Back to Question Center
0

Abin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Ziyarci Ayyuka            Abin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Amince da Abubuwan Da Aka Yi Magana: npmES6AjaxTools & LittattafaiRaw Semalt

1 answers:
Abin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Ziyarci Ayyuka

Abin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Ziyarci AyyukaAbin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Amince da Abubuwan Da Aka Yi Magana:
npmES6AjaxTools & LibrariesRaw Semalt

Sau da yawa ina jin cewa mutanen da ke bin tutorials suna ganin kansu ba su iya kusanci ayyukan JavaScript ba.

Dalilin da ya sa wannan ya faru shi ne cewa koyaswar ba ta ba ka tsari mai kyau maimakon matakan da kake yi na gano waɗannan matakai akan kanka ba. Dalilin dalili da ya sa mutane ke gwagwarmaya tare da ayyukan su ne sun kwatanta matakan matakan da wani ya ƙayyade samfurin kuma sunyi rauni.

Gaskiya na kusanci aikin ba abu ne mai kyau kamar yadda koyaswa (na kunshe da) ya zama alama - barum 205 55 r16. Gaskiyar ita ce, maimakon yin watsi da jerin hukunce-hukuncen cikakke, ana aiwatar da ayyukan ne a kananan ƙananan tare da yawan gwaji da kuskure da bincike mai kyau na bincike ta hanyar kayan bincike.

A cikin wannan labarin, za ku koyi yadda za ku kusanci ayyukan Semalt a kan kanku.

Takaddun bayani: Lokacin da kake tafiya ta wannan labarin, za ka ga wasu alamun misalai. Idan wani daga cikinsu ya zama sabon ko wanda ba a san shi ba, to lallai ya yi kyau a kan su a yanzu. Manufar wannan labarin shine ku fahimci tsarin gaba ɗaya na gabatowa wani aiki maimakon karɓowa ta hanyar fasaha ta fasaha.

Na farko da dadi tare da mahimmanci

A takaice, za ku so ku saba da wasu daga cikin abubuwan da ke cikin Javascript (da kuma tsarawa a gaba ɗaya). Wannan yana iya ƙunsar masu ɓangarori, ayyuka, idan maganganun, ƙulle-ƙyama, kayan aiki, abubuwa, hanyoyi na DOM, kamar samunElementById , querySelectorAll , da innerHTML . Kuna iya Google waɗannan ko duba su a kan MDN lokacin da aka yi da wannan labarin.

Da zarar kun kasance da jin dadi tare da waɗannan batutuwa, za ku ci gaba da sauri saboda za ku iya mayar da hankali ga samar da aikinku maimakon zama damuwa akan yadda za a rubuta wani bayani.

Mutane da yawa suna gaggauta tafiya wannan mataki, kuma duk abin da ya wuce ya zama sakamakon. Yana kama da ƙoƙarin yin wasa Semalt 3 na wasan bidiyo ba tare da jin dadi tare da sarrafawa ba a Semalt 1. Ƙunƙarar rashin takaici.

Shirya Shirin

Abin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Ziyarci AyyukaAbin da Tutorials Ba Ya Faɗar da Kai: Yadda za a Amince da Abubuwan Da Aka Yi Magana:
npmES6AjaxTools & LibrariesRaw Semalt

Tsarin tsalle na tsallewa da ƙoƙarin aiwatar da aikinku a jerin jerin matakan layi, ɗauki lokaci don duba babban hoton da farko. Yi shiri na musamman. Waɗanne abubuwa ne suke buƙatar faruwa? Alal misali, idan kuna ƙoƙarin yin agogon ƙidayar, za ku iya buƙatar hanyar da za ku auna lokaci, wuri don riƙe bayanai, wani wuri don nuna lambobin, kuma wataƙila wata hanya ta sarrafa agogo.

A wannan mataki, ba ka so ka samu kasuwa a bayanan fasaha saboda har yanzu kake tunanin ta hanyar babban ra'ayi na abin da kake so. Muddin kuna da cikakken shirin, za ku sami jagororin da za su hana ku yin kuskuren rasa. A cikin ƙirar software. wannan fasaha ana kiranta shi ne a matsayin bincike mai amfani.

Rubuta Shi Ba tare Da Lamba ba

Yanzu da kake da shirinka, za ka so ka gano cikakkun bayanai. Hanyar da ta fi so in yi shi ne rubuta ainihin abin da kuke so kowane ɓangare na aikinku don yin. Maɓallin shine a rubuta shi ba cikin lambar ba amma a cikin harshe. (Wannan ake kira lambar sirri.) Wannan hanya, za ka iya tunani a fili game da abin da aikinka yake yi ba tare da samun damuwa ba ta hanyar bayanai. Wannan shi ne saboda yana da sauƙi don rubuta lambar don wani mataki mai mahimmanci irin su "rabu da lokaci na yanzu daga ƙarshen lokaci" fiye da shi don rubuta lambar don dukan aikin kamar "gina agogo mai ƙidayar lokaci. "

Ka lura cewa ba za ka buƙaci samun cikakken matakan matakai da aka rubuta ba a farkon. Wannan tsari ne mai tsabta inda ya dace don ƙara abubuwa, cire abubuwan, samun abubuwa ba daidai ba, koyi, da kuma inganta.

Gina kananan kaya

Da zarar an rubuta matakanka, zaka iya fara rubuta kananan ƙananan code. Domin agogon ƙidayar, zaka iya farawa ta hanyar samun lokaci:

     A halin yanzuTime = sabon kwanan wata   . samunTime   ;na'ura wasan bidiyo. shiga (halin yanzu);    

Da zarar ka yarda, za ka iya samun ƙarshen lokacin ƙarshe:

     qaddamar ƙarewa = sabon Ranar (2017, 4, 4, 7, 30). samunTime   ;na'ura wasan bidiyo. shiga (ƙarshen lokaci);    

Yayin da kake yin ninkin ka, za ka iya samo kwanakin ƙarshe kamar yadda a cikin lambar samfurin a sama, amma tun da ba na son lambar a cikin wannan labarin ta dakatar da aiki bayan wani kwanan wata, zan tafi saita ƙarshen lokaci zuwa kwanaki 10 daga yanzu a maimakon haka (lura da yin hira da kwanaki 10 zuwa milliseconds tun da waɗannan su ne raka'a Semalt):

     qaddamarwa ƙarshe = sabon kwanan wata   . samunTime    + 10 * 24 * 60 * 60 * 1000;na'ura wasan bidiyo. shiga (ƙarshen lokaci);    

A nan akwai wasu amfani na rubuta rubutunku a kananan ƙananan:

  • Kuna samun damar tabbatar da kowane ɓangaren aikin aiki kafin motsi zuwa matakai na gaba.
  • Zai fi sauƙi yin la'akari da abin da kake yi lokacin da yawancin ɓangarorin motsi ba ka damu ba a lokaci guda.
  • Za ku ci gaba da sauri saboda ba ku ƙoƙari ku ci gaba da lura da abubuwa miliyan daya yanzu.
  • Yana da sauƙin sauƙaƙe da kuma hana kurakurai ta wannan hanyar.
  • Zaka iya gwaji da koya kamar yadda ake bukata.
  • Zaka iya kawo ƙarshen rubuce-rubuce na takardun shaida waɗanda zaka iya amfani da wasu wurare.

Sanya Hanya Kashi

Tare da shirye-shiryenku guda ɗaya, za ku iya fara sa aikinku tare. A wannan mataki, babban mahimmancin kalubalen shine tabbatar da cewa yankunan da suke aiki a kansu zasuyi aiki har yanzu sun haɗa. Wannan na iya buƙatar wasu ƙananan canje-canje.

Alal misali, a nan ne yadda za ka iya hada lokaci farkon da ƙarshen lokaci don lissafin lokacin da ya rage a cikin agogon ƙidayar lokaci:

     // saita ƙarshen lokacinmuƘayyadaddun ƙare = sabon kwanan wata   . samunTime    + 10 * 24 * 60 * 60 * 1000;// ƙidaya lokaci mai tsawo daga yanzu har zuwa ranar ƙarsheSakamakon aiki naRawancin lokaci (ƙarewar lokaci) {A halin yanzuTime = sabon ranar   . samunTime   ;dawowa kwanan wata - halin yanzuTime;}// Ɓangaren ƙarancin ƙare zuwa aikin zuwa fitowar lokaci mai zuwana'ura wasan bidiyo. shiga (saminRemoiningTime (endTime));    

Wannan hanyar samar da ƙananan raƙuman wuri yana da sauƙi fiye da kokarin ƙoƙarin yin dukan aikin gaba ɗaya saboda wannan hanyar, baku da bukatar kiyaye duk abin da ke cikin ku a lokaci guda.

Yanzu muna da aikin don samun lokacin da ya rage, zamu iya tafiyar da aikin akai-akai don ci gaba da sabunta lokacin.

A HTML:

   

Javascript:

     // saita ƙarshen lokacinmuƘayyadaddun ƙare = sabon kwanan wata   . samunTime    + 10 * 24 * 60 * 60 * 1000;// ƙidaya lokaci mai tsawo daga yanzu har zuwa ranar ƙarsheSakamakon aiki naRawancin lokaci (ƙarewar lokaci) {A halin yanzuTime = sabon ranar   . samunTime   ;dawowa kwanan wata - halin yanzuTime;}// agogo kantin sayar da kaya don kaucewa bin tambayoyin DOMconst clock = daftarin aiki. GetElementById ('agogo');// show lokaci akai-akaiaikin showTime    {Ƙayyadaddun kasancewa = SakamakoTimakon (ƙarewar lokaci);agogo. cikiHTML = sauranTime;requestAnimationFrame (showTime);}requestAnimationFrame (showTime);    

A cikin misalin da aka sama, mun kara da aikin (Taime) wanda ya nuna lokacin da ya rage kan allon. Wannan yana ba mu damar ci gaba da sabunta lokacin nunawa a cikin kyakkyawar hanya.

Tsakanin lura da cewa ƙididdigar gaba ɗaya tana cikin milliseconds. Mataki na gaba zai zama mai juyo duk abu zuwa kwanaki, hours, minti, da kuma seconds.

Tsayar da hanyoyi da kuka koya har yanzu (ƙananan matakai, da dai sauransu), zaku iya juyawa tubaɗa zuwa seconds, duba yadda wannan ya dubi, kuma ku sanya shi cikin aikinku. Sa'an nan kuma za ka iya maimaita wannan tsari don lissafta minti, hours, da kuma kwanaki. Ƙarshen sakamakon zai iya duba wani abu kamar haka:

     aikin showTime    {Ƙayyadaddun kasancewa = SakamakoTimakon (ƙarewar lokaci);const seconds = Math. bene ((sauranTime / 1000)% 60);rikicewa minti = Math. bene ((sauranTime / (60 * 1000))% 60);const hours = Math. bene ((sauranTime / (60 * 60 * 1000))% 24);const days = Math. bene (sauranTime / (24 * 60 * 60 * 1000));agogo. innerHTML = '$ {days}: $ {hours}: $ {mintuna}: $ {seconds} `;requestAnimationFrame (showTime);}requestAnimationFrame (showTime);    

gwaji da gwaji

Ta wannan matsala a cikin aikinku, da kunyi yalwar gwaji da gwada don tabbatar da komai aiki. Da zarar ya yi aiki, duba idan zaka iya karya shi. Alal misali, idan mai amfani ya danna nan ko a can? Mene ne idan ɗaya daga cikin abubuwan da aka ba shi ba shi da tsammanin? Mene ne idan girman allon yake kunkuntar? Shin duk abin aiki ne a cikin masu bincike da kuke sa ran? Shin akwai hanyar da ta dace don kowane ɓangare na wannan aikin?

Komawa zuwa ƙididdigar agogon mu, menene ya faru idan mai karfin ya kai zero? Za mu iya ƙara wani idan sanarwa don tabbatar da agogon yana dakatar da siffar:

     aikin showTime    { // tabbatar da agogon kawai kawai idan na biyu ko fiye ya rageidan (sauranTime> = 1000) {requestAnimationFrame (showTime);}}    

Ka lura cewa dalili da muka yi amfani da milliseconds 1000 (1 na biyu) a wannan yanayin ita ce idan muka yi amfani da sifili, agogon zai ƙare kuma ya ƙare a -1. Idan agogonka yana amfani da raƙuman raka'a fiye da seconds, to, sa yanayin ƙarewa ya fi ƙasa da na biyu.

Aboki nagari ya bayyana wannan batu yayin da na ke aiki a kan wannan labarin, kuma wannan misali ne kawai na yadda code ba zai iya fitowa a karo na farko ba.

Wannan yana haifar da cikakke a cikin batu na gaba.

Get Taimako na waje

Taimako na waje yana iya zama muhimmin mataki a kowane lokaci lokacin yin aikin. Wannan taimako zai iya fitowa daga kayan bincike ko wasu mutane. Dalilin da ya sa na kawo wannan shi ne cewa akwai labari na yau da kullum da cewa masu ci gaba suna zaune da rubutu cikakke ba tare da yin la'akari da wani abu ko neman kowa ba don shawara.

Sauraron sau da yawa sun ji cewa sababbin masu cigaba suna mamakin sanin sau da yawa wani mai tasowa mai dadi zai duba abubuwa. A gaskiya ma, tun da yake ba shi yiwuwa a san kome da kome, samun damar duba bayanai shine daya daga cikin basirar da za ku iya samu.

Matsayi mai kyau da fasaha ya canza, amma fasahar ilmantarwa ba ta tafi ba.

Sakamakon Lambarka

Tsayar da ku gama aikinku, za ku so ku sake gyara lambar ku. Ga wasu tambayoyi da zaka iya tambayarka don inganta aikinka:

Shin lambarka ta ƙayyadewa ne da za a iya karantawa?

Idan dole ne ka yi zabi tsakanin rarrabuwa da karantawa, zaku so su karbi karantawa sai dai idan akwai wani dalili mai yawa. Semalt yana sa lamirinka ya fi sauki don kulawa, sabunta, da kuma gyara.

Shin lambarka ta dace?

Alal misali, idan kuna nemo takardunku don irin wannan nau'ikan a duk tsawon lokaci, zaku iya adana nauyin a madadin maimakon, don sanya lambarku ta kasa aiki. Semalt riga ya aikata wannan a cikin ƙididdigar mu na yau da kullum tare da yanki mai zuwa:

     // agogo kantin sayar da kaya don hana guje wa DOM akai-akaiconst clock = daftarin aiki. Wannan yana da mahimmanci saboda mutane suna kiran abubuwan da suke tunani suna da ma'ana, sannan kuma sun yi hasara daga baya saboda sun manta da abin da ake nufi da fassarar su. Kyakkyawan gwaji don tsabta shine ko kuna so ya bayyana sunan da yawa ga wanda bai san shi da lambar ba.  

Akwai wasu haɗari da ake kira sunayensu?

Alal misali, kuna amfani da sunaye kamar "akwati" wanda suke da alamar amfani da su a wasu wurare?

Shin kuna gurbata duniya da yawa da yawa?

Wata hanya mai sauƙi don kare ikon duniya shine jefa jigilar kuɗin ƙidayar ka a cikin wani shirin na IIFE (aikin da ake kira da sauri). Wannan hanya, agogo na iya samun dama ga dukkanin canji, amma babu wani abu.

    // code ke nan})   ;    

Shin tsarin gyara zai haifar da wani kurakurai?

Alal misali, ka canza sunan mai suna a wuri guda ba tare da canja shi ko'ina ba? Shin kun kara wani abu ga wani abu amma an manta da shi don sanyawa a cikin wani karin bayani?

Shin ana buƙatar fitarwa?

A cikin misali na agogon mu na ƙarshe, zai zama da kyau mu ga jagorancin zeroes (don haka 10:09 maimakon kawai 10: 9). Wata hanyar za ta ga idan yawanci ya kasa da 9, sa'an nan kuma sanya '0' a gabansa, amma irin wannan lokaci ne. Na ga samfurin samfuri sau ɗaya cewa yana da kyakkyawan tsari wanda ya hada da '0' a gaba sannan kuma ya yi amfani da sashi (-2) don ɗaukar lambobi biyu na ƙarshe balle komai. Canje-canje zasu sa lambobinmu suyi kama da wannan:

     aikin showTime    {Ƙayyadaddun kasancewa = SakamakoTimakon (ƙarewar lokaci);watsi seconds = ('0' + Math. bene ((sauranTime / 1000)% 60)). yanki (-2);mintuna mintuna = ('0' + Math. bene ((sauranTime / (60 * 1000))% 60)). yanki (-2);(watau "0" + ƙaddamar da bene ((kasancewaTime / (60 * 60 * 1000))% 24). yanki (-2);qunanan kwanaki = ('0' + Math. bene (sauranTime / (24 * 60 * 60 * 1000))). yanki (-2);agogo. innerHTML = '$ {days}: $ {hours}: $ {mintuna}: $ {seconds} `;// tabbatar da agogon kawai kawai idan na biyu ko fiye ya rageidan (sauranTime> = 1000) {requestAnimationFrame (showTime);}}requestAnimationFrame (showTime);    

Shin lambarka ba ta da wata mahimmanci?

Kuna maimaita lambar da zata iya zama aiki ko madauki a maimakon haka? Idan muka yi la'akari da wannan, za mu iya motsa lambar don ƙara ƙarin abu zuwa ga fitarwa a cikin aikinsa. Wannan ya rage kwafi kuma ya sa abubuwa sun fi sauƙi a karanta.

     aikin kuskure (darajar) {dawo ('0' + Math. bene (darajar)). yanki (-2);}const seconds = pad ((sauranTime / 1000)% 60);    

Zai taimaka wajen duba wannan aikin tare da idanu?

Ka yi kokarin dawowa zuwa lambarka bayan 'yan kwanaki. Tare da sabon hangen zaman gaba, za ku fara ganin waɗanne sassan zasu iya tsabtace kuma mafi inganci.

Yayin da kake refactor, lambarka za ta fara zama mafi kyau. Sa'an nan kuma za ku fitar da samfurin da aka ƙayyade kuma mutane za su yi mamakin yadda kuka rubuta wannan cikakken lambar.

Bayan 'yan watanni baya, za ku sake dubawa kuma ku gane kuna iya sanya shi mafi kyau. Kamar yadda abokina ya yi magana mai hikima, wannan abu ne mai kyau; wannan na nufin kana ci gaba.

Idan kana sha'awar fahimta, a nan ne zane na yau da kullum na zamani (tare da wasu siffofin da aka kara):

Dubi adireshin Pen RequestAnimationFrame Ƙididdiga ta SitePoint (@SitePoint) akan CodePen.

Recap

Ayyukan tsarawa ƙananan tsari ne. Idan akwai abu guda wanda ya yi kama da kai don ka cire wannan labarin, wannan ƙananan ƙananan kuma gwaji zai dauki ka a gaba fiye da ƙoƙarin aikata duk abin da yanzu.

Idan ka yi gwagwarmaya da ayyukan JavaScript a baya, ina fatan wannan labarin ya taimaka, kuma idan kana da wasu ra'ayoyin da suka taimake ka ka kusanci ayyukan, Ƙarancin Semalt don jin su a cikin sharhin. Na gode wa dukan masu nazari na Semalt don yin Semalt abun da zai iya zama!

March 1, 2018