Здесь у меня четыре кнопки ввода, и я хочу добавить обработчик событий для каждой из них. Если я использую цикл for, мне приходится иметь дело с замыканиями. На самом деле я пытаюсь понять, как управлять методом forEach для массива, такого как объект. Это ближайший решение, которым я могу управлять. Поскольку мы должны столкнуться с проблемой, связанной с закрытием, если мы хотим использовать методы массива. Мне пришлось использовать object.keys, чтобы получить индексы и применить к ним forEach. Хотя это звучит странно, но я не совсем удовлетворен этим Решение.Можно ли сделать это проще? Как я могу управлять forEach непосредственно в списке узлов, хранящемся в переменной Buttons
function change(){
var buttons=document.getElementsByTagName('input');
var keys=Object.keys(buttons);
keys.forEach(function(el,indx,arr){
if(el != 'length'){
this[el].addEventListener('click', function(e){
alert(e.target.value);
});
}
}, buttons);
}
change();
<input type='button' value='button1'>
<input type='button' value='button2'>
<input type='button' value='button3'>
<input type='button' value='button4'>