Программирование циклов с конца
В сл. примере подсчитать сумму элементов массива set можно таким образом (нумерация элементе массива начинается с нуля; set.length – свойство массива – его длина): var sum = 0; for(var i=0; i < set.length; i++) sum += set[i]; А можно и так: var sum = 0; for(var i = set.length; -- i >= 0; ) sum += set[i]; Второй способ предпочтительнее.Сравнение с нулем обычно более эффективно, чем сравнение с другим чис-лом.Иными словами «-- i >= 0» работает быстрее, чем «i <set.length». Общее правило: в цикле со счетчиком значение счетчика должно по возможности уменьшаться до нуля.
Заметим, что следующий вариант: var sum = 0; for(var i = set.length; (i--) >= 0; ) sum += set[i]; является ошибочным,в нем уменьшение i на единицу происходит после проверки условия, а не до, как в правильном варианте. Описание переменной цикла В JavaScript можно написать так: for(var i = 100; i; i--) ... – или так: var i; for(i = 100; i; i--) ... Для браузера эти записи эквивалентны. Вспомним, что в конструкции цикла: for(начало; условие; приращение) команда; команда начало выполняется один раз перед первым оборотом цикла. Поэтому ясно, что переменная i не определяется 100 раз описателем var. Рекомендации такие: –счетчик цикла i можно описывать там же, где описываются другие переменные в начале функции или скрипта; –счетчик обязательно нужно описывать в общем месте, если он используется в нескольких циклах; –если в функции цикл единственный, то можно записывать for (var i = …,…; …) — это красиво, и подчеркивает вспомогательный характер переменной i, недостойной более «солидных» описаний. Если какая-то переменная digit, используется как рабочая внутри цикла и не имеет смысла вне его, то разумнее объявить ее локальной внутри этого цикла, чем объявлять ее в начале функции с комментарием «рабочая переменная цикла такого-то». Однако, в команде while для JavaScript сл. запись: while (...) { var digit = ... ... } эквивалентна такой: var digit; ... while (...) {... Digit = ...}
Встроенные функции JavaScript
Все стандартные математические функции и частоиспользуемые константы представлены в качестве методов математического объекта – Math и их свойств. Объект Math является встроенным объектом JavaScript. Константы определены в JavaScript с точностью до 15-знака после запятой. Аналогично, вы ссылаетесь на функции Math как на методы. Например, функция синуса - Math.sin(argument), где argument является аргументом функции.
Константы
Стандартные функции
Функции пользователя
В программировании часто бывает нужно повторять несколько раз одну и ту же группу команд. Если повторение происходит «на месте» — используют цикл (while, for). Если код нужно повторять в разных местах программы — его оформляют в виде функции пользователя. Описание и вызов функции. В самом деле, если уж нужно вычислить длину (количество цифр) целого положительного числа, то логичнее проделать это один раз, а затем спокойно писать, как в математике F(num), не задумываясь над «анатомией» функции f и не повторяя ее кода заново. Пусть, например, пользователь последовательно вводит три числа, а программа вычисляет общее количество цифр. Пример: // Количество цифр в целом положительном числе num. // Вход: num (целое положительное число). // Выход: количество цифр в num. { var len = num ? 0 : 1; while(num) { num = (num - num % 10) / 10; len ++; } return len; } var sum = 0; var num1, num2, num3; num1 = prompt("Введите первое число", ""); sum += F(numl) ; num2 = prompt("Введите второе число", ""); sum += F(num2) ; num3 = prompt("Введите третье число", ""); sum += F(num3) ; alert("Общее число введенных цифр: " + sum);
Браузер выполняет этот скрипт так. Запись: function F(num) { ... } принимается во внимание, но команды в ней не выполняются. Браузер делает пометку: «было описание функции с именем F». Так происходит потому, что ключевое слово function и следующий за ним блок {...} являются не командой, а декларацией (описанием). Команды, следующие за описанием функции, выполняются как обычно. При этом каждый раз, когда в коде попадается обращение к F, браузер возвращается к описанию функции и выполняет ее команды, подставляя вместо формального аргумента num фактические переменные num1, num2, num3.
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (511)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |