У меня был этот код:
function (i)
{
alert(i);
}(3);
И это не сработало, поэтому после StackOverFlow Вопрос - я изменил на:
(function(i){ alert(i); })(3);
И это работает.
Мне пришлось () обернуть весь код.
Но потом я увидел этот код на другом сайте:
function addLinks () {
for (var i=0, link; i<5; i++) {
link = document.createElement("a");
link.innerHTML = "Link " + i;
link.onclick = function (num) {
return function () {
alert(num);
};
}(i); // <=== What about this ? there is no () wrapper... so how does it work ?
document.body.appendChild(link);
}
}
window.onload = addLinks;
Я хотел спросить Какова роль для части (i)
? выполняет что-то?
И если да, то почему не в виде:
(function(i){ alert(i); })(3);
Я имею в виду , где - обертки () ?