Вы можете использовать with
var container, i;
for (i = 0; i < 10; i ++) {
with ({ locali: i }) {
container = document.createElement ("div");
container.innerHTML = i;
container.style.border = "1px solid black";
container.style.padding = "10px";
container.onclick = function () {
alert(locali);
}
}
document.body.appendChild(container);
}
По сравнению с решением для анонимных функций, упомянутым ранее, оно немного менее производительно (что имеет значение, если вы называете его десятки из тысяч раз), и работает намного лучше с отладчиком Visual Studio (и, возможно, другими).