let div = document.querySelector('div');
div.innerHTML = 'raz';
console.log(div);
div.innerHTML = 'dva';
console.log(div);
<div></div>
Почему в консоли два раза выводится 'dva'. А не 'raz' и следом 'dva'.
let div = document.querySelector('div');
div.innerHTML = 'raz';
console.log(div);
div.innerHTML = 'dva';
console.log(div);
<div></div>
Почему в консоли два раза выводится 'dva'. А не 'raz' и следом 'dva'.
Пожалуйста, обратите внимание, что если вы логируете объекты в последних версиях Chrome и Firefox, то что вы вывели в консоль, является ссылкой на объект, и не обязательно является его "значением" на момент вызова console.log()
Есть ответ на английском на схожий вопрос.
Не факт, что синхронность консоли гарантирована в этом случае. Скорее всего на момент когда консоль выводит на экран первый раз, div уже имеет второй текст. Если вы именно div.innerHTML напишите, то будет верно, потому что выводится текст, а не представление дива. Такое же поведение может быть во многих местах консоли, когда вы выводите объекты вместо примитивов.
raz, потомdva– entithat Jan 09 '21 at 23:01console.dirтогда в помощь, или что там? – teran Jan 09 '21 at 23:17