function counting1(){
var count = 0;
count++;
alert(count);
}
var count = 0;
function counting2(){
count++;
alert(count);
}
Если запустить этот пример в браузере и щелкнуть на каждой кнопке несколько раз, то можно заметить, что counting1 всегда выдает одно и то же значение, 1 . counting2 , с другой стороны, выдает увеличивающееся число. Почему это происходит? Посмотрим просто сначала на counting1 . Можно видеть, что каждый раз при выполнении counting1 прежде всего создается переменная count и ее значение задается равным 0 . В следующей строке переменная count увеличивается на 1 .
Оператор ++ пока еще не встречался. count++ просто увеличивает count на 1 . Другими словами, это в точности то же самое, что написать count += 1 или count = count + 1 . Поскольку увеличение на 1 является в программировании очень распространенным действием, то для него существует специальный оператор. Аналогично оператор -- вычитает 1 из переменной: count-- .
Каждый раз, когда функция counting1 выполняет alert(count) , она сообщает значение новой переменной count , которое только что было определено как 0+1 .
Теперь посмотрим на counting2 . Можно видеть, что переменная count в этом случае находится вне функции. Даже до вызова этой функции значение count задано как 0 . При вызове counting2 прежде всего происходит увеличение переменной count на 1 . Так как мы не восстанавливаем значение count в 0 , как в случае counting1 , то переменная count продолжает сохранять свое значение, и все происходит, как и предполагалось.
Теперь читатель получил общее понимание некоторых фундаментальных понятий программирования и JavaScript , в частности. В следующей лекциибудут рассмотрены циклы и формы.
Основы работы с полями форм и с функциями циклов.
В предыдущей лекциибыли рассмотрены операторы if / else , основы проверки и функций. Если в ходе дальнейшего чтения возникнут какие-то вопросы, то имеет смысл еще раз прочитать предыдущую лекцию.
Мы знаем теперь, как проверять данные, но при создании кода JavaScript обычно требуется проверять не оставшееся количество воображаемых яблок. Одной из наиболее общих областей применения JavaScript являются поля формы. Предположим, например, что имеется простая контактная форма. Иногда требуется убедиться, что пользователь ввел в форму свое имя или что он выбрал как минимум одну радио-кнопку для вопроса. Вот пример такой формы:
Имя: Ваш любимый цвет: Синий Желтый
Красный Черный
Зеленый Другой
Фамилия:
Адрес Email:
Отправить форму Очистить форму Зафиксировать форму на месте
Ниже представлен код этой формы. Он приведен только для иллюстрации.
style="background-color:#FFF;z-index:10;">
Имя: |
|
Ваш любимый цвет: |
Синий
Красный
Зеленый
|
Желтый
Черный
Другой
|
Фамилия: |
|
Адрес Email: |
|
|
onclick="swapLock();return false;">Зафиксировать форму на месте
|
Прежде всего необходимо узнать, как создать объект JavaScript , который ссылается на форму. Любую форму на странице можно указать с помощью конструкции document.forms . Если имеется форма с именем tutform , то к ней можно обратиться следующим образом: document.forms.tutform .
На любые элементы внутри формы (поля ввода, поля выбора, флажки и т.д) можно ссылаться с помощью конструкции elements : document.forms.ИмяФормы.elements . Если на форме имеется поле ввода с именем firstname , то значение этого поля можно вывести следующим образом:
alert('Имя: ' + document.forms.tutform.elements.firstname.value);
Если щелкнуть на этой кнопке, а затем отправить учебную форму, то появится уведомление с тем значением, которое было введено в поле Имя . Как это происходит? Когда форма посылается на сервер, Web-браузер ищет код onsubmit . Если этот код существует, то форма выполняет его перед отправкой:
function validateForm(){
// код проверки формы находится здесь
}
Теперь, зная, как получить доступ к форме и элементам на этой форме, выполним некоторые основные проверки. Распространенной задачей является проверка, что именно пользователь ввел в поле ввода. Например, надо проверить, что пользователь ввел свое имя.
Как видно из предыдущего фрагмента кода, свойство " .value " объекта формы можно использовать для получения его значения. Это работает для объектов формы любого типа. Попробуем теперь проверить, что пользователь ввел на форме свои имя и фамилию:
Читать дальше