Создание объекта по событию и наполнение его
Здравствуйте. Есть обработчик события на клике по элементу. В этой функции необходимо получать значения с инпутов и записывать их в объект, тем самым наполняя его, вот код:
const names = {};
addButton.addEventListener('click', () => {
let name = addNameInput.value;
let value = addValueInput.value;
names[name] = value;
console.log(names);
});
Но сам объект я создаю вне обработчика события, а мне нужно что бы он создавался внутри, создавался только при первом клике, то есть когда его действительно нет, а при последующих кликах он просто наполнялся новыми строками. Подскажите, как можно так сделать? |
<div id="addButton">111</div>
<script>
var names;
addButton.addEventListener('click', ()=>{
console.log(names) //для демонстрации
if(!names) names = {};
//...добавляйте свойства
});
</script>
|
Не совсем понял разницы. names точно так же как и в моем коде, объявляется вне обработчика. Мне нужно этот names создать внутри обработчика, если клик идет в первый раз, а при последующих кликах просто заполнять в уже существующий объект. Что типа такого:
addButton.addEventListener('click', () => {
let name = addNameInput.value;
let value = addValueInput.value;
if(!names) {
var names = {};
names[name] = value;
}else{
names[name] = value;
}
});
|
Цитата:
<div id="addButton">111</div>
<script>
addButton.addEventListener('click', () => {
if(!window.names) {
names = {};
}
else{
console.log('else');
}
});
</script>
только разницы никакой где объявлять :) |
| Часовой пояс GMT +3, время: 12:05. |