- 1

Как в итоге получилось 3?

var i = 1; alert( 2 * i++ ); // 2, выполнился раньше но значение вернул старое alert( i ); // 2 alert( 2 * i++ ); // 4 alert( i ); // 3

23rd Nov 2018, 4:37 PM
Pix Shot
Pix Shot - avatar
5 Antworten
+ 4
Значение переменной i было дважды увеличено на 1, поэтому теперь i = 3. Метод alert(2 * i++) возвращает результат умножения, но не приравнивает его к переменной i.
23rd Nov 2018, 5:16 PM
NezhnyjVampir
+ 5
var i = 1; alert( 2 * i++ ); // сначала выполняется умножение (2*1), потом переменная инкрементируется и теперь i = 2, следовательно: alert( i ); // 2 alert( 2 * i++ ); // сначала выполняется умножение (2*2), потом переменная инкрементируется и теперь i = 3, следовательно: alert( i ); // 3
24th Nov 2018, 2:44 AM
NezhnyjVampir
+ 5
Пожалуйста👍😊
24th Nov 2018, 3:07 AM
NezhnyjVampir
+ 1
Ага, вот теперь то я понял! Спасибо большое!
24th Nov 2018, 2:45 AM
Pix Shot
Pix Shot - avatar
0
Тогда должно 2 быть?
24th Nov 2018, 2:19 AM
Pix Shot
Pix Shot - avatar