Показать сообщение отдельно
  #23 (permalink)  
Старый 04.08.2011, 22:26
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от dmitriymar
вызов анонимных функций
кроме теории, никакой, также как и между третьей. Главное чтобы фунция была объявлена как Function Expression:

//1
var foo = function() {};

//2
var foo = new  function() {};

//3
var foo = function() {
   return function() { //и эта тоже Function Expression
      //..
   }
}

//4
foo(function() {
//..
});

var foo = {
    bar : function() {

    }()
};

//5
0,function() {}; //,[] ,{}, ,'' ,любой объект
!function() {}; // ,+ ,- ,~ ,! 

//6
(function() {

})(); //}())

// конструкции ниже, не относится ни к FE ни к FD:
//7
[].constructor(function() {  //,[] ,{}, ,'' ,любой объект

}());

//8
(Function('alert("..")'))();

//и даже без единого слова function

([].constructor.constructor(
//..
  )
)();

и так далее..

т.е. основное визуальное отличие Function Expression от Function Declaration в том, что Function Expression не может начинаться с ключевого слова function , за исключением, возврата каретки. Более подробно можно тут

Последний раз редактировалось monolithed, 04.08.2011 в 23:08.
Ответить с цитированием