Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ребята, помогиет прочитать строку (https://javascript.ru/forum/misc/51958-rebyata-pomogiet-prochitat-stroku.html)

zzzzzz 27.11.2014 15:06

Ребята, помогиет прочитать строку
 
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(icon[0]);


Непонятно все, что после равно.
и еще это (...)(..)

Заранее спасибо

ksa 27.11.2014 15:11

Цитата:

Сообщение от zzzzzz
Непонятно все, что после равно.

Там вызывается безымянная функция с параметром icon[0], которая, в свою очередь, возвращает другую безымянную функцию, которая и станет обработчиком события onload у ДОМ-элемента reader...

zzzzzz 27.11.2014 15:18

а эту строку можно как-нибудь развернуть, чтоббы стало понятнее??

ksa 27.11.2014 15:29

Цитата:

Сообщение от zzzzzz
а эту строку можно как-нибудь развернуть, чтоббы стало понятнее?

Так понятнее?

reader.onload = (function(aImg) { 
	return function(e) { 
		aImg.src = e.target.result; 
	}; 
})(icon[0]);

Или как понять про "развернуть"?

Safort 27.11.2014 15:29

zzzzzz,
да, например так
reader.onload = (function(aImg) {
  return function(e) {
    aImg.src = e.target.result;
  };
})(icon[0]);

ksa 27.11.2014 15:33

Цитата:

Сообщение от zzzzzz
и еще это (...)(..)

Это вызов безымянной функции...

(function (){
   alert('Ok');
})();

Это вызов с параметром...

(function (Mess){
   alert(Mess);
})('Test');

Это с возвратом функции и параметром...
var myfnc=(function (Mess){
   return function () {
      alert(Mess);
   };
})('Test');
myfnc();

zzzzzz 27.11.2014 18:31

Всем спасибо друзья, разобрался )


Часовой пояс GMT +3, время: 21:18.