(function - это инициализация анонимной функции.
})(id, input); - здесь идет вызов этой функции, передавая туда 2 аргумента из цикла
id - это переменная, которая инициализирована в for'е
input - это переменная с первой внутренней строчки for'а ( var input = document.getElementById(id);)
Если боитесь, можете переписать это так.
Только в этом случае к myFunction будет иметь доступ как минимум весь скоуп, а как максимум, любой модуль, куда будет подключен этот js файл.
function myFunction (id, input) {
input.addEventListener("change", function() {
localStorage.setItem(id, input.value);
});
}
document.addEventListener("DOMContentLoaded", function() {
var ids = ["1", "2", "3"];
for (var id of ids) {
var input = document.getElementById(id);
input.value = localStorage.getItem(id);
myFunction(id, input);
}
});