конструкция (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, время: 20:54. |