Историята на формирането на съвременния синтаксис на програмния език е подобна на познаването на процесите на формиране на Вселената. Какво и как беше в началото ... Но сега всичко е просто и достъпно.
Алгоритъмът е в крайна сметка винагипоследователна верига от команди. Паралелизмът в програмирането е съвкупност от съвкупни последователности. Цикличният алгоритъм никога не е бил по-практичен от последователна или паралелна верига от команди. Етикети, преходи и условия - всичко е достатъчно за всяко решение. Функционалните езици лишиха тези идеи от значение, но необходимостта от повторение на кодовите раздели остана.
Браузър: DOM, езикът му + сървър
Циклите на JavaScript остават, макар и функционалниидеите са придобили специално значение. Може би нещо е останало от "Lisp" и "Prologue", но най-вече, района, където живее JavaScript, доведе до факта, че не е, но е съмнително, че това най-ново решение.
JavaScript работи в браузъра, койтополучава страница, преглежда я в DOM и изпълнява първия скрипт. Всички останали страници, включително тези, заредени на тази страница, са ръководството на разработчика, манипулиращ езика, чрез който може да се извика кода на сървъра, а резултатът да се използва чрез механизма AJAX.
Браузърът изпълнява кода на JavaScript, който можеизползвайте обектите на браузъра, включително такъв, който осигурява прехвърляне на информация на сървъра и получавате отговор, който може да включва HTML маркиране, стилове и самия код. Отговорът може да бъде представен от масиви и обекти. Усещането за използване на JavaScript се губи в JavaScript, има много начини да се направи без тях и рискувате да закачите браузъра с безкрайна последователност от команди, не е най-доброто решение.
Действителните цикли са налице в повечето синтаксисни конструкции на JavaScript, разработчикът може да допълва стандартните конструкции със свои собствени функции.
Позицията на JavaScript в кодовото пространство
Съвременният програмист дори не мисли товацикълът, който използва (за, докато прави, докато, ...) - евентуално поредица от цикли (цикли) на процесора - проста последователност от двоични операции, прекъсната от проверки на броячи, т.е.
По този начин няма цикъл на нивото на машинния език:има комбинация от обикновени команди, условни операции и преходи. Ниво по-високо, независимо от инструмента, използван за разработването на браузъра и интерпретатора на JavaScript, ще бъде недвусмислено. И "парчета от код" ще бъдат представени от различни времена и различни поколения програмисти. Едната е "сградата" на JavaScript. Синтаксисът му предлага съвременни цикли на JavaScript.
JS е прекрасен език:практичен, модерен и пълнофункционален. Синтаксисът на този инструмент включва всички конструкции, които са преминали теста на времето и са станали непоклатимата основа на всеки алгоритъм. Но наистина ли са необходими циклите? Напредъкът в програмирането често си задаваше въпроси от фундаментално естество, но само в някои случаи намери решение.
Обективни основания
Цикълът може да бъде само две възможности:под или над контра, но в действителност (най-ниското ниво) всеки цикъл - само при условие. В някои езици общ цикъл "за всеки." В JavaScript цикъла foreach структура, представена реквизит в обект, но е възможно да се използва вариант array.forEach (...).
Във всеки случай има две възможности:компютърен код, който се изпълнява в края на краищата всички програмни алгоритми, дори пишат по устен превод езици, няма други варианти повторни йерархия: той може да има нещо, което да се извърши отново, докато:
- броя на броячите;
- докато не бъде изпълнено условието.
JavaScript е типичен преводач.Характеристика: тя функционира вътре в браузъра, използва неговите обекти и позволява изпълнение на алгоритми от страна на клиента, както когато страницата е заредена в браузъра, така и по време на работа.
Прост цикъл за всички
В JavaScript, foreach цикъла изглежда като приложение към множество функции:
Използването на такива цикли не създава затруднения. Формално няма такъв цикъл. Съществува последователен призив на функцията към елементите на масива.
Цикъл на брояча
По-познат поглед върху JavaScript за:
Тук броячът е променлива - стойносттакойто се променя според формулата, а знакът за края на цикъла е състоянието. Не е необходимо формулата и условието да включват променлива на цикъла. Но контролът върху края на цикъла зависи изцяло от съдържанието им.
Условни контури
Опцията с докато JavaScript предлага вв зависимост от това кога трябва да проверите състоянието. Ако тялото на цикъла не може да бъде изпълнено веднъж - това е едно, ако тялото трябва да бъде изпълнено поне веднъж, това е друго:
В първия случай, докато интерпретирахме конструкцията,JavaScript първо проверява състоянието и ако е вярно, изпълнява цикъл. Във втория случай първо ще бъде изпълнен цикъл. Ако, в резултат на промяната на променливите, посочени в условията на строителството докато той ще вземе фалшива стойност, цикълът ще спре да се изпълнява.
Масивни комбинации от прости алгоритми
Основната задача (съставната част) на която и да еалгоритъм - да се намери, само тогава да реши какво да направи следващата. Най-примитивната версия на търсенето е достъпът до променливата, резултатът се получава директно. Ако има много променливи или има много стойности (масив), тогава да откриете стойността, която трябва да намерите, за да определи по-нататъшното поведение на скрипта.
Такава проста доктрина направи цикъл с брояч в езика на JavaScript от един видпанацея за всички задачи. Модерните компютри са бързи. Има достатъчно време за изпълнение на скриптове в браузъра, няма къде да бързаме. По-лесно е да избирате нещо заради нещо. В резултат на това на JjavaScript за цикли са станали много популярни.
В това няма нищо лошо. Но зад такъв подход, същността, за която е написан един или друг алгоритъм, лесно се губи. Данните не са безсмислени. Всичко, за което е написана някаква програма, има смисъл. Прекомерно използване на JjavaScript за цикли, разработчикът не може да види необходимата единица и да създаде адекватен алгоритъм.
Функционалност, друго представителство на реалността
прилагане JavaScript цикли, примери същият код може да бъде представен чрез функции - алгоритъмът веднага ще се промени, основното тяло на сценария ще намалее по размер, всичко ще стане разбираемо и разбираемо.
Това не е кардинално ново решение, но по същество тя не надхвърля другите конструкции на езика. По-специално, JjavaScript вериги могат да бъдат намерени в класическата функция split ():
Var cResult = "Аз, 8,7,6,5,4";
Var aResult = cResult.разцепване(",");
Няма цикъл, но как иначе тази функция, ако не чрез търсене на символа "," и използването му за разделяне на един номер от друг.
Отнасяйки се до това как се изпълнява вътрефункция разделяне (), можете да добавите JavaScript към функционалността си чрез цикли, по отношение на използването - по-удобно. Важно е, че този подход води до разработването на функционален за всеки проблем, но общият все още ще бъде с този подход.
Тези функции са allt (), padc (), padl () и padr ()който не е в JavaScript, но понякога трябва да премахнете интервалите от линията или да подредите дължината на реда от ляво, от дясно или от двете страни. В тялото на тези функции са цикли на JavaScript. Обикновено, достъпно и никога няма да виси алгоритъм, който го използва.
Опции за конвертиране на числа отШестнадесетична на 10-та числова система и обратно, по-лесно е да се каже, от един формат на данни в друг, се изпълняват тук чрез циклите do while. Много компактен и ефективен синтаксис на езика.
Правилни цикли - показване на реалността
JavaScript не е подходящ за други езици за програмиране и не се различава в различни версии и най-важното е, че се стреми не да променя синтаксиса, а да го развива и разширява.
Начинът на мислене на JS програмист е различен от мисленето на PHP програмист (по-специално и всички други езици в съвкупност, добре, освен че "Prolog" и неговите последователи не са включени в общия канал), когато алгоритъмът не е ограничен до променливи, масиви, оператори за присвояване, контури на цикли.
Ако си представим, че няма цикли и проблемът е решеннеобходимо е, тогава най-простият вариант (със завързани очи) е да се приеме, че програмата обработва данни, които са точка или система от точки в информационното пространство. Какво е точка и какво е система от точки е въпрос на конкретна предметна област. За програмист тази теза означава: има прости данни и има колекция от прости данни. Естествено, обикновена база данни от едно ниво ще бъде система за ниво отдолу и точка за ниво отгоре.
При този подход основната грижа е да се прояви вашата същност чрез вашите методи. Когато дадена точка е в суперсистема, тогава функцията на системата е да прояви своята същност като набор от обекти на точките, включени в нея.
Този подход е толкова стар, колкото и идеята за езицитепрограмиране, но все още не е намерил своето адекватно отражение в програмирането. Много програмисти мислят правилно, но резултатът от тяхното творчество оставя много да се желае.
Добре е понякога да носите превръзка на очите, за да видите света!