Следующий код добавляет новый div каждые 1 секунду в теле.Я не понимаю, почему вызов newDiv (i--) работает, а newDiv (i-1) - нет.Я бы принял ответ, который дает мне четкое объяснение.
Я знаю, что i-- равен i = i-1.
«Не работает» означает, что поведение newDiv (i-1) добавляет новый элемент div, содержащий постоянное число, например 9,9,9,9,9, ... к телу.
Правильное поведение будет уменьшаться: т.е. 9,8,7,..., 0.Что сделано newDiv (i -)
function newDiv(n) {
var bodyObj = document.getElementsByTagName('body')[0];
var div = document.createElement('div');
div.innerHTML = n;
bodyObj.appendChild(div);
if(n===0) {
var h1 = document.createElement('h1');
h1.innerHTML = 'Hallo World';
bodyObj.appendChild(h1);
}
}
var i=0;
while(i<10) {
window.setTimeout(function() {
newDiv(i--); // i-1 does not work, placing i-- before does not work either.
}, i*1000);
i++;
}