@lesh_osipov

Как понять, почему при вызове функции не исполняется некоторый фрагмент?

Добрый день. Имеется фрагмент кода, который выводит существующий массив на страницу, и добавляет и удаляет при вызове .push и .pop. Функция в самом начале исполняет свой код выводя текущий массив на страницу, после при нажатие на кнопку .push, у нас добавляет новый элемент в массив, и чтобы его отобразить мы же в функции p1 (метод .push) вызываем функцию test() все заново. И вопрос в том, почему при цикле for на страницу не выводится все заново содержимое массива, а выводится только НОВОЕ значение. Тоже самое происходит и с .pop, просто удаляет последний элемент массива, без вывода всего массива. Как это работает?

let m = [1, 2, 3, 4, 5, 6, 'hello'];

function test (){
    let p = document.getElementById('out');
    let str = '';
    for (let i = 0; i < m.length; i++) {
        str += i + ' --- ' + m[i] + '<br>';
    }
    p.innerHTML = str;
}


test();


function p1(){
    let i1 = document.getElementById('i1').value;
    m.push(i1);
    test(); 
}

function p2(){
    m.pop();
    test();
}
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BigSmoke
Да вроде нормально ваш код работает. Ссылка. Если закомментировать вызов p2 в 29 строке выведется массив с элементом добавленным в p1.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы