Programmēšanas valodas mūsdienu sintakse veidošanās vēsture ir līdzīga Visuma veidošanās procesu izziņai. Kas un kā bija sākumā ... Bet tagad viss ir vienkārši un par pieņemamu cenu.
Galu galā algoritms vienmēr irsecīga komandu ķēde. Paralēlisms programmēšanā ir kaut kā kombinētu secību apvienojums. Ciklisks algoritms nekad nav bijis praktiskāks par secīgu vai paralēlu komandu ķēdi. Marķējumi, pārejas un nosacījumi - viss bija pietiekams jebkuram risinājumam. Funkcionālās valodas atņēma šīm idejām nozīmīgumu, taču palika nepieciešamība atkārtot koda sadaļas.
JavaScript valodā cilpas paliek, kaut arī funkcionālasidejas ieguva īpašu nozīmi. Iespējams, ka Lispā un Prologā ir kaut kas palicis, bet, visticamāk, joma, kurā atrodas JavaScript, ir novedusi pie tā, kas ir, bet ir apšaubāmi, vai tas ir pēdējais risinājums.
JavaScript darbojas pārlūkprogrammā, kurāiegūst lapu, parsē to DOM un palaiž pirmo skriptu. Visas pārējās lapas, ieskaitot tās, kas ielādētas šajā lapā, ir izstrādātāja darbs, kurš manipulē ar valodu, ar kuru var izsaukt servera kodu, un rezultātu iegūt, izmantojot AJAX mehānismu.
Браузер исполняет JavaScript-код, который может izmantojiet pārlūka objektus, ieskaitot tos, kas nodrošina informācijas pārsūtīšanu uz serveri un atbildes saņemšanu, kas var būt gan HTML marķējums, gan stili, gan faktiskais kods. Atbildi var attēlot ar masīviem un objektiem. Ir zaudēta JavaScript cilpu izmantošanas jēga, ir daudz iespēju iztikt bez tām, un riskēt pakārt pārlūku ar nebeidzamu komandu secību nav labākais risinājums.
Pašas cilpas ir sastopamas lielākajā daļā JavaScript sintakses konstrukciju; izstrādātājs var pievienot standarta konstrukcijas ar savām funkcijām.
Mūsdienu programmētājs to pat nedomācikls, kuru viņš izmanto (lai gan, kamēr veic, ...), galu galā ir procesora ciklu (ciklu) virkne, vienkārša bināro darbību secība, ko pārtrauc pretpārbaudes, tas ir, apstākļi.
Parasti mašīnu valodas līmenī nav cikla:Ir parasto komandu, nosacīto darbību un pāreju kombinācija. Neatkarīgi no tā, kāds rīks tiek izmantots pārlūka un JavaScript tulka izstrādei, cilpas būs nepārprotamas. Turklāt "koda gabalus" attēlo dažādi laiki un dažādas programmētāju paaudzes. Stāvs virs JavaScript ēkas. Kura sintakse piedāvā mūsdienīgas JavaScript cilpas.
JS ir brīnišķīga valoda:praktiska, moderna un pilnībā funkcionējoša. Šī rīka sintakse ietver visus dizainus, kas izturējuši laika pārbaudi un kļūst par nesatricināmu jebkura algoritma pamatu. Bet vai cikli tiešām ir nepieciešami? Programmēšanas progress bieži uzdeva sev pamatjautājumus, bet tikai dažos gadījumos tika atrasts risinājums.
Ciklam var būt tikai divas iespējas: pēc nosacījuma vai ar skaitītāju, bet būtībā (zemākajā līmenī) jebkura cilpa ir tikai nosacīta. Dažās valodās ir cikls "katram". JavaScript foreach cilpas objekta konstrukcijā attēlo rekvizīts, bet jūs varat izmantot masīvu.forEach (...).
Jebkurā gadījumā ir divas iespējas: mašīnkodam, kas galu galā izpilda visus programmētāja algoritmus, pat tos, kuri raksta interpretācijas valodās, nav citu iespēju atkārtot komandu ķēdi: tas var kaut ko izpildīt vēlreiz, kamēr:
JavaScript ir tipisks tulks. Tās īpatnība: tā darbojas pārlūkprogrammā, izmanto savus objektus un ļauj izpildīt algoritmus klienta pusē gan tad, kad lapa tiek ielādēta pārlūkprogrammā, gan tās darbības laikā.
JavaScript foreach cilpas izskatās kā funkcijas piemērošana masīvam:
Šādu ciklu izmantošana nav grūta. Formāli nav cikla kā tāda. Masīva elementiem ir secīgs funkciju izsaukums.
Cilpas izskatās pazīstamākas JavaScript:
Šeit skaitītājs ir mainīgais lielumskas mainās pēc formulas, un cikla beigas norāda nosacījums. Formulā un nosacījumā nav jāiekļauj cilpas mainīgais. Bet kontroli pār cikla beigām pilnībā nosaka to saturs.
Kamēr JavaScript opcija tiek ieteiktaatkarībā no tā, kad jums jāpārbauda stāvoklis. Ja cikla korpuss var netikt izpildīts pat vienu reizi, tā ir viena lieta, ja ķermenis ir jāizpilda vismaz vienu reizi, tas atšķiras:
Pirmajā gadījumā, interpretējot būvniecības laiku,JavaScript vispirms pārbauda nosacījumu, un, ja tas ir patiess, tas izveidojas. Otrajā gadījumā cikls tiks izpildīts pirmais. Ja būvniecības stāvoklī norādīto mainīgo mainīšanas rezultātā darīt kamēr, tas būs nepatiesa, un cilpa pārtrauks izpildīt.
Jebkura galvenais uzdevums (komponents)algoritms - atrast, tikai pēc tam pieņemt lēmumu, ko darīt tālāk. Primitīvākā meklēšanas iespēja ir piekļuve mainīgajam, rezultāts tiek iegūts tieši. Ja ir daudz mainīgo vai tam ir daudz vērtību (masīvs), tad, lai atlasītu vērtību, jums jāatrod kaut kas, kas noteiks skripta turpmāko darbību.
Izveidota tik vienkārša doktrīna cilpa ar skaitītāju JavaScript valodā ir sava veidapanaceja visiem uzdevumiem. Mūsdienu datori ir ātri. Skriptu izpildīšanai pārlūkprogrammā ir pietiekami daudz laika, nav jāsteidzas. Kaut ko dēļ ir viegli kaut ko sakārtot. Rezultātā uz DžcilScript atvērScript ir kļuvuši ļoti populāri.
Šķiet, ka tajā nav nekā slikta. Bet aiz šādas pieejas viegli tiek zaudēta būtība, kurai tiek rakstīts tas vai cits algoritms. Dati nekad nav bezjēdzīgi. Viss, kam tiek rakstīta jebkura programma, ir jēga. Pārāk daudz dzēris DžcilScript atvērScript, izstrādātājs var neredzēt vēlamo entītiju un neradīt atbilstošu algoritmu.
Piesakoties JavaScript cilpas piemēri tāda paša veida kodu var attēlot ar funkcijām - algoritms tiks nekavējoties pārveidots, skripta galvenā daļa tiks samazināta, viss kļūs lasāms un saprotams.
Tas nav radikāli jauns risinājums, bet būtībā tas nepārsniedz citas valodas konstrukcijas. Jo īpaši DžavaScript cilpas var atrast klasiskajā split () funkcijā:
var cRezultāts = "9,8,7,6,5,4";
var aRezultāts = cRezultāts.sadalīt(",");
Šeit nav cilpu, bet kā citādi šī funkcija tiek izpildīta, ja ne, meklējot rakstzīmi "," un izmantojot to, lai atdalītu vienu numuru no cita.
Kopsavilkums par to, kā tas tiek īstenots iekšējisplit () funkcijas, JavaScript var papildināt ar savu funkcionalitāti, kas izmanto cilpas, no lietošanas viedokļa - ērtāk. Ir svarīgi, lai šī pieeja attiecīgi attīstītu katra uzdevuma funkcionalitāti, taču vispārīgais joprojām būs ar šo pieeju.
Šīs funkcijas ir allt (), padc (), padl () un padr ()kas nav JavaScript valodā, bet dažreiz jums ir jānoņem atstarpes no virknes vai jāsaskaņo virknes garums pa kreisi, pa labi vai abām pusēm. Šo funkciju pamatteksts satur JavaScript cilpas. Vienkārši, par pieņemamām cenām un nekad nesaldēs algoritmu, izmantojot to.
Iespējas skaitļu konvertēšanai noHeksadecimāli līdz 10. skaitļu sistēmai un otrādi, ir vieglāk pateikt, no viena datu formāta uz citu šeit tiek veikti ar do while loops palīdzību. Ļoti kompakta un efektīva valodas sintakse.
JavaScript nav savietojams ar citām programmēšanas valodām un neatšķiras dažādās versijās, un pats galvenais, tas cenšas nemainīt sintaksi, bet gan to attīstīt un paplašināt.
JS programmētāja domāšanas veids ir atšķirīgs no PHP programmētāja domām (it īpaši un citām valodām kopumā, izņemot to, ka "Prolog" un tā sekotāji nav iekļauti vispārējā kanālā), kad algoritms nav ierobežots ar mainīgajiem, masīviem, piešķiršanas operatoriem, cilpu konstrukcijām.
Ja mēs iedomājamies, ka nav ciklu, un problēma ir atrisinātatas ir nepieciešams, tad vienkāršākais variants (aizsietās acis) ir pieņemt, ka programma apstrādā datus, kas ir punkts vai punktu sistēma informācijas telpā. Kas ir punkts un kāda ir punktu sistēma, ir jautājums par konkrētu priekšmetu. Programmētājam šī tēze nozīmē: ir vienkārši dati un ir vienkāršu datu kolekcija. Protams, vienkāršs viena līmeņa atsauces punkts būs sistēma zemākam līmenim un punkts augstākam līmenim.
Izmantojot šo pieeju, jautājums ir parādīt savu būtību, izmantojot savas metodes. Kad punkts atrodas supersistēmā, tad sistēmas funkcija ir izpaust savu būtību kā tajā iekļauto punktu entītiju kopumu.
Šī pieeja ir tikpat veca kā valodu idejaprogrammēšanu, taču joprojām nav atradusi savu atbilstošo atspoguļojumu programmēšanā. Daudzi programmētāji domā pareizi, taču viņu radošuma rezultāts atstāj daudz ko vēlamu.
Lai redzētu pasauli, dažreiz ir labi nēsāt aizsietās acis!