0

У меня есть вопрос про создание объекта через цикл и без него. Когда я создаю объект через цикл у меня не возникает ошибок. Но когда я пытаюсь создать его без цикла то возникает ошибка: Identifier 'add_one ' has already been declared. Не подскажите почему так происходит?

var AddHtml = function(){
  document.getElementsByTagName('body')[0].innerHTML+=arguments[0]
}

// Работает for (let i=0;i<=2;i++) { let add_one = new AddHtml('1'); }

// Не работает let add_one = new AddHtml('1'); let add_one = new AddHtml('1');

  • Дак Вам же пишет, что add_one уже зарезервирован, измените вторую переменную. – meine Apr 10 '19 at 10:27
  • Вот буквально потому, что «Identifier 'add_one ' has already been declared». – Yaant Apr 10 '19 at 10:27

1 Answers1

1

Identifier 'add_one ' has already been declared

add_one уже объявлена, Вам стоит лишь поменять имя второй переменной и всё будет работать.

var AddHtml = function(){
  document.getElementsByTagName('body')[0].innerHTML+=arguments[0]
}

let add_one = new AddHtml('1'); let add_one2 = new AddHtml('2');

meine
  • 7,394
  • Я понял. Но почему тогда в цикле не происходит ошибок? – Антон Apr 10 '19 at 10:33
  • Было бы совсем замечательно, если бы Вы еще добавили объяснение, почему не возникает ошибок в цикле. :) Ну и в качестве бонуса, почему при замене let на var ошибка исчезает. :) – Yaant Apr 10 '19 at 10:34