Веб-программирование

Обучение программированию

Делаете первые шаги в программировании? Представляем вашему вниманию пошаговое обучение самостоятельного создания сайтов любой сложности на примерах! На страницах сайта KobRU вы найдете все самое необходимое, для того чтобы по праву считаться веб-мастером по созданию привлекательных динамически изменяемых интернет-страниц, используя основные инструменты веб-разработчиков: HTML; CSS; PHP; MySQL; JAVASCRIPT и другие. Сайт KobRU - наиболее полное и качественно структурированное руководство с предельно понятными пояснениями и поэтапным изложением материала, который поможет вам в совершенстве овладеть искусством программирования. Добавьте динамики и интерактивность в свои веб-проекты!

Вход в личный кабинет

Забыли пароль?

Не зарегистрированны?


Конструкторское Web-бюро
3.5 Инкремент и декремент

Автор: Denisido

Дата: 2010-06-18

Операторы увеличения (инкремент) и уменьшения (декремент) в основном используют для удобства и краткости записи кода и применяют, как правило, в циклах (счетчики). Записываются они следующим образом:
- инкремент в виде двух знаков плюс (++);
- декремент в виде двух знаков минус (--)
Их смысл в том, чтобы увеличивать или уменьшать операнд на единицу. Здесь стоит заметить, что результат также зависит от положения оператора (префиксный или постфиксный синтаксис). Что это значит рассмотрим на примере:

Запустить!
var a = 1;
var b = 1;

var c = a++ + 2; // инкремент справа (a++)
var d = ++b + 2; // инкремент слева (++b)

alert(a); // выведет 2
alert(b); // выведет 2
alert(c); // выведет 3
alert(d); // выведет 4

Давайте с вами разберемся, почему получился такой результат. Начнем с последней 10 строки. В переменной d у нас получился результат, равный 4. Дело в том, что написав префиксный синтаксис мы сперва выполняем сложение, а затем уже увеличение операнда, т.е. в нашем случае это 1+1 + 2 = 4. В строке №9 мы делаем все наоборот, т.е. написав постфиксный синтаксис, сначала увеличиваем операнд и только потом уже увеличиваем на 1. Таким образом, во втором случае присваивается ещё не увеличенное значение (значение a++ равно прежнему значению a). Но когда мы выводим нашу переменную a в модальное окно с помощью команды alert(), то наша переменная уже увеличится на единицу!

Еще один пример:

Запустить!

var a = 1;       // переменная а равна 1
var c = a++;    // переменная с равна 1, т.к. значение переменной a изменится только
               // в следующий раз, когда будет использована
var d = c + 5 + a; // теперь 1 + 5 + 2 = 8
alert(d);    // выведет 8

Теперь поменяем строку №2, изменив синтаксис.

Запустить!

var a = 1;     // переменная а равна 1
var c = ++a;  // теперь переменная с равна 2, т.к. значение переменной a изменилось 
             // (сначала сложение, после увеличение операнда)
var d = c + 5 + a; // сейчас 2 + 5 + 2 = 9
alert(d);  // выведет 9

Разница очевидна!



Оцените материал по 5-ти бальной шкале: 1 2 3 4 5



Коментарии:

Коментарий добавил(а): Spartaker
Дата: 2011-05-31

Здравствуйте! Учусь по вашему учебнику, очень нравится. Все понятно расписано. Начал с самого начал и остановился вот только на этой статье. Не могу осмыслить принцип положения инкремента. Не укладывается у меня когда переменная увеличивается, когда - нет. В целом учебник - очень нравиться! Но пока вот на этом я застрял. Попробую утром над этим подумать. :)

Коментарий добавил(а): ido1
Дата: 2016-05-17

Здравствуйте! Обращаюсь к кому-нибудь, ответьте пожалуйста! Я не могу понять почему alert(a) выводит 2. Ну почему?! Да, у нас есть вот это: var c = a++ + 2;, но оно не изменяет значение переменной а, почему же тогда alert(a) выводит 2?!ъ Зарание спасибо!

Добавить новый коментарий:

Текст коментария:

Введите результат с картинки

Просмотров: 18064

Метки раздела JavaScript

Основы web программирования, var javascript, javascript функции, javascript обучение, javascript простые примеры, html javascript, javascript примеры, javascript random, уроки сайтостроения, java script, регулярные выражения, appendchild javascript, javascript бесплатно, javascript document write, javascript справочник, javascript примеры.