конструкция (function(){...})() в учебнике не нашел описания
Разбираясь в чужом коде наткнулся на фрагмент
...
(function(a){
addEvent(tdHead1, 'click', function(){
sortByColumn(self, tdHead.sortOrder, columnNames[a]); tdHead.sortOrder = tdHead.sortOrder * (-1);
return false;});})(i);
|
(function(){...})()
означает что ты создаёшь функцию, и сразу же её вызываешь. Два ниже приведённых примера по сути едентичны. За тем исключение что в первом случае у вызываемой функции даже имени своего нет.
//пример 1
(function ( a ) { alert( a ) }) ( "hello" )
//пример 2
test = function ( a ) { alert ( a ) };
test ( "hello" );
В твоём примере автор кода, избавился от ненужного замыкания, при помощи вызова безымянной функции. Если бы он этого не сделал, то все click срабатывали бы с одним и тем же i. Подробнее здесь |
10ая тема по данному вопросу, юзай поиск или, что лучше, читай основные статьи на этом сайте.
|
| Часовой пояс GMT +3, время: 18:56. |