wikipedia
Цитата:
Сообщение от Livanderiaamarum
(Сообщение 144577)
первые скобки возвращают то, что находится в них. функцианальное выражение.
|
если говорить по-русски, то скобки вычисляют то, что находится в них (функциональное выражение - т.к. функция без имени. иначе бы была декларация).
Цитата:
Сообщение от Livanderiaamarum
(Сообщение 144577)
потом оператор вызова () применяется к тому что вернули скобки. иными словами ПРОСТО создается функция и просто вызывается. ни какого замыкания нет.
|
никакого замыкания нет, пока эта функция не инкапсулирует какую-нибудь функцию, которая будет использовать локальные переменные из родительской.
с замыканием :
(function () {
var myvar;// переменная родительской [[scope]]
window.func = function(){
alert(myvar) // использует переменную род. [[scope]]
}
})();
func(); // undefined.
без :
(function () {
window.func = function(){
var myvar; // переменная [[scope]] этой функции
alert(myvar) // использует переменную [[scope]] этой функции.
}
})();
func(); //undefined.
Цитата:
Сообщение от Livanderiaamarum
(Сообщение 144577)
с контекстами
|
по-умолчанию this равен window. у этой функции кто-то изменил контекст (call,apply) или она является методом/конструктором объекта, созданного с помощью new?
Цитата:
Сообщение от Livanderiaamarum
(Сообщение 144577)
со стеками вызовов и.т.п.
|
функцию вызывает какая-то другая функция?
Livanderiaamarum, дружок, почитай про JavaScript шаблоны. уверен, тебе понравится.
|