Историја формирања модерне синтаксе програмског језика слична је спознаји процеса формирања Универзума. Шта и како је било на почетку ... Али сада је све једноставно и приступачно.
Алгоритам је на крају увексеквенцијални ланац команди. Паралелизам у програмирању је комбинација некако комбинираних низова. Циклички алгоритам никада није био практичнији од секвенцијалног или паралелног ланца команди. Етикете, прелази и услови - све је било довољно за било какво решење. Функционални језици лишили су ове идеје на значају, али остала је потреба за понављањем делова кода.
У ЈаваСцрипт-у су петље остале иако су функционалнеидеје су стекле посебно значење. Можда је нешто остало од Лиспа и Пролога, али највероватније је област у којој живи ЈаваСцрипт довела до онога што јесте, али је упитно да ли је ово последње решење.
ЈаваСцрипт се покреће унутар прегледача којидобија страницу, анализира је у ДОМ-у и покреће прву скрипту. Све остале странице, укључујући и оне учитане на овој страници, дело су програмера, који манипулише језиком којим се може позивати код на серверу и резултатом добивеним употребом АЈАКС механизма.
Бровсер извршава ЈаваСцрипт код који можекористите објекте прегледача, укључујући онај који обезбеђује пренос информација на сервер и примање одговора, а то може бити или ХТМЛ ознака, стилови и стварни код. Одговор може бити представљен низовима и објектима. Изгубљено је значење употребе петљи у ЈаваСцрипт-у, постоји пуно могућности да се без њих учини, а ризиковати вешање претраживача бесконачним низом наредби није најбоље решење.
Лоопс су присутни у већини синтаксичких конструкција ЈаваСцрипт-а; програмер може допунити стандардне конструкције властитим функцијама.
Савремени програмер то ни не помишљапетља коју користи (за, док, уради док, ...) је на крају низ циклуса (циклуса) процесорског сата, једноставан низ бинарних операција прекинут проверавањем бројача, односно условима.
Као таква, не постоји петља на нивоу машинског језика:постоји комбинација обичних команди, условних операција и скокова. Један ниво више, који год алат да се користи за развој прегледача и ЈаваСцрипт тумача, петље ће бити недвосмислене. Штавише, „делови кода“ биће представљени у различито време и од различитих генерација програмера. На спрату је ЈаваСцрипт зграда. Синтакса нуди савремене ЈаваСцрипт петље.
ЈС је сјајан језик:практичан, модеран и потпуно функционалан. Синтакса овог алата укључује све конструкције које су прошле тест времена и постале непоколебљиви темељ било ког алгоритма. Али да ли су петље заиста потребне? Напредак у програмирању често је себи постављао основна питања, али је само у неколико случајева пронашао решење.
Циклус може имати само две опције:условом или бројачем, али у основи (на најнижем нивоу) било која петља је само условна. У неким језицима постоји циклус „за сваког“. У ЈаваСцрипт-у, петље фореацх представљене су потпором у конструкцији објекта, али можете користити варијанту арраи.форЕацх (...).
У сваком случају постоје две могућности:машински код који на крају извршава све алгоритме програмера, чак и оне који пишу на интерпретативним језицима, нема друге могућности за понављање ланца наредби: може поново нешто извршити док:
ЈаваСцрипт је типичан тумач.Његова посебност: функционише унутар прегледача, користи његове објекте и омогућава извршавање алгоритама на страни клијента, како када се страница учита у прегледач, тако и током његовог рада.
У ЈаваСцрипт-у петље фореацх изгледају као примена функције на низ:
Коришћење таквих петљи је једноставно. Формално, циклус као такав не постоји. Постоји секвенцијални позив функције елементима низа.
Јер петље изгледају познатије у ЈаваСцрипт-у:
Овде је бројач променљива, вредносткоја се мења према формули а крај циклуса означава услов. Формула и услов не морају да садрже променљиву петље. Али контрола над крајем циклуса у потпуности је одређена њиховим садржајем.
Опција вхиле ЈаваСцрипт предлаже уу зависности од тога када желите да проверите стање. Ако тело циклуса можда неће бити изведено ни једном, једно је, ако тело мора да се изврши најмање једном, ово је другачије:
У првом случају, тумачећи конструкцију вхиле,ЈаваСцрипт прво проверава стање и ако је тачно, петља се. У другом случају, циклус ће се прво извршити. Ако, као резултат промене променљивих наведених у стању конструкције уради док, биће лажно и петља ће престати да се извршава.
Главни задатак (саставни део) било когалгоритам - пронаћи, тек онда донети одлуку шта даље. Најпримитивнија опција претраживања је приступ променљивој, резултат се добија директно. Ако постоји много променљивих или она има много вредности (низ), да бисте изабрали вредност, морате пронаћи нешто што ће одредити даље понашање скрипте.
Тако једноставна доктрина петља са бројачем у ЈаваСцрипт-у је врстапанацеја за све задатке. Савремени рачунари су брзи. Има довољно времена за извршавање скрипти у прегледачу, не жури се. Лакше је него икад средити нешто због нечега. Као резултат, на ЈаваСцрипт за петље постали су веома популарни.
Изгледа да у томе нема ништа лоше. Али иза таквог приступа лако се губи суштина за коју је написан овај или онај алгоритам. Подаци никада нису бесмислени. Све за шта је написан било који програм има смисла. Пије превише ЈаваСцрипт за петље, програмер можда неће видети жељени ентитет и неће створити одговарајући алгоритам.
Применом Примери ЈаваСцрипт петљи истог типа кода могу бити представљене функцијама - алгоритам ће се одмах трансформисати, главнина скрипте ће се смањити у величини, све ће постати читљиво и разумљиво.
Ово није радикално ново решење, али у суштини не прелази друге језичке конструкције. Конкретно, ЈПетље аваСцрипт могу се наћи у класичној функцији сплит ():
вар цРесулт = "9,8,7,6,5,4";
вар аРезулт = цРесулт.разделити(",");
Овде нема петље, али како се иначе ова функција извршава ако не тражећи знак "," и користећи га за одвајање једног броја од другог.
Апстрахујући од тога како се интерно примењујефункције сплит (), ЈаваСцрипт се може допунити сопственом функционалношћу помоћу петљи, са становишта употребе - погодније. Неопходно је да овај приступ води развоју функционалности за сваки задатак, али опште ће и даље бити уз овај приступ.
Ове функције аллт (), падц (), падл () и падр () јесушто није у ЈаваСцрипт-у, али понекад морате уклонити размаке из низа или поравнати дужину низа лево, десно или обе стране. Тело ових функција садржи ЈаваСцрипт петље. Једноставно, приступачно и никада неће замрзнути алгоритам који га користи.
Опције за претварање бројева изХексадецимални према 10. бројевном систему и обрнуто, лакше је рећи, из једног формата података у други, овде се изводе помоћу петље до вхиле. Веома компактна и ефикасна синтакса језика.
ЈаваСцрипт се не подудара са осталим програмским језицима и не разликује се у разним верзијама, и што је најважније, настоји да не мења синтаксу, већ да је развија и проширује.
Начин размишљања ЈС програмера је другачији из размишљања ПХП програмера (посебно, и свих осталих језика у целини, добро, осим што „Пролог“ и његови следбеници нису укључени у главни ток), када алгоритам није ограничен на променљиве, низове, операторе додељивања, петље конструкције.
Ако замислимо да нема циклуса и проблем је решенпотребно је, тада је најједноставнија опција (повез преко очију) претпоставити да програм обрађује податке који су тачка или систем тачака у информационом простору. Шта је бод, а шта систем бодова, ствар је одређеног предметног подручја. За програмера ова теза значи: постоје једноставни подаци и постоји збирка једноставних података. Природно, једноставни датум једног нивоа за ниво испод биће систем, а за ниво изнад тачка.
Са овим приступом, главна ствар је да манифестујете своју суштину кроз своје методе. Када се тачка налази у надсистему, тада је функција система да манифестује своју суштину као скуп целина тачака које су у њу укључене.
Овај приступ је стар колико и идеја о језицимапрограмирање, али још увек није пронашао свој одговарајући одраз у програмирању. Многи програмери мисле исправно, али резултат њихове креативности оставља много жељеног.
Корисно је понекад носити повез преко очију да бисте видели свет!