Выразительный JavaScript (Хавербеке) - страница 4

>[end]

>  вывести ‘total’

Вот теперь уже не так сложно понять, как работает программа. Справитесь? Первые две строки назначают двум областям памяти начальные значения. >total будет использоваться для подсчёта результата вычисления, а >count будет следить за числом, с которым мы работаем в данный момент. Строчки, использующие ‘compare’, наверно, самые странные. Программе нужно понять, не равно ли >count 11, чтобы прекратить подсчёт. Так как наша воображаемая машина довольно примитивна, она может только выполнить проверку на равенство переменной нулю, и принять решение о том, надо ли перепрыгнуть на другую строку. Поэтому она использует область памяти под названием >‘compare’, чтобы подсчитать значение >count – 11 и принять решение на основании этого значения. Следующие две строки добавляют значение >count в счетчик результата и увеличивают >count на 1 каждый раз, когда программа решает, что ещё не достигла значения 11.

Вот та же программа на JavaScript:

>var total = 0, count = 1;

>while (count <= 10) {

>  total += count;

>  count += 1;

>}

>console.log(total);

>// → 55

Еще несколько улучшений. Главное – нет необходимости вручную обозначать переходы между строками. Конструкция языка >while делает это сама. Она продолжает вычислять блок, заключённый в фигурные скобки, пока условие выполняется (>count <=10), то есть значение >count меньше или равно 10. Уже не нужно создавать временное значение и сравнивать его с нулём. Это было скучно, и сила языков программирования в том, что они помогают избавиться от скучных деталей.

В конце программы по завершению >while к результату применяется операция >console.log с целью вывода.

И наконец, вот так могла бы выглядеть программа, если б у нас были удобные операции >range и >sum, которые, соответственно, создавали бы набор номеров в заданном промежутке и подсчитывали сумму набора:

>console.log(sum(range(1, 10)));

>// → 55

Мораль сей басни – одна и та же программа может быть написана и долго, и коротко, читаемо и нечитаемо. Первая версия программы была совершенно смутной, а последняя – почти настоящий язык – записать сумму диапазона номеров от 1 до 10. В следующих главах мы рассмотрим, как делать такие вещи.

Хороший язык программирования помогает программисту сообщать компьютеру о необходимых операциях на высоком уровне. Позволяет опускать скучные детали, даёт удобные строительные блоки (>while и >console.log), позволяет создавать свои собственные блоки (>sum и >range), и делает простым комбинирование блоков.

Что такое JavaScript?

JavaScript был представлен в 1995 году как способ добавлять программы на веб-страницы в браузере Netscape Navigator. С тех пор язык прижился во всех основных графических браузерах. Он дал возможность появиться современным веб-приложениям – браузерные е-мейл-клиенты, карты, социальные сети. А ещё он используется на более традиционных сайтах для обеспечения интерактивности и всяких наворотов.