Сообщение от sneggg
|
Что дает приведенный пример
|
(function() {
var privateVariable = 1;
window.foo = function() {
typeof privateVariable //→ "number"
};
})();
typeof privateVariable //→ "undefined"
Такое замыкание используется, чтобы изолировать приватные переменные и функции.
Подробнее про замыкания здесь:
http://dmitrysoshnikov.com/ecmascrip...er-6-closures/
Сообщение от sneggg
|
Что имеет в виду автор под "ОТКРЫТОЕ замыкание"? Надо полагать, что бывают и закрытые замыкания
|
Нет такого понятия
Сообщение от sneggg
|
Безымянные функции являются отложенными выражениями
|
Различают 3 вида создания функций:
Function declaration
function funcName() {}
Function expression
var func = function () {}
//или
(function () {})
//или
{method: function () {}}
//или любое другое выражение, где создается функция
Named function expression
var func = function funcName() {};
//или
(function funcName() {})
//или
{method: function funcName() {}}
//или любое другое выражение, где создается именованная функция
Function declaration создается сразу при входе в контекст, независимо от того, где в коде она располагается
(function () {
typeof funcName //→ "function";
function funcName() {}
}());
остальные создаются по мере исполнения
(function () {
typeof func //→ "undefined";
var func = function () {}
}());
Подробнее здесь:
http://dmitrysoshnikov.com/ecmascrip...r-5-functions/
После прочтения статей, остальные вопросы должны отпасть.
Ну и вообще это основы языка, рекомендую все статьи с того сайта прочесть:
http://dmitrysoshnikov.com/ecmascrip...tion-contexts/
http://dmitrysoshnikov.com/ecmascrip...riable-object/
http://dmitrysoshnikov.com/ecmascrip...hapter-3-this/
http://dmitrysoshnikov.com/ecmascrip...4-scope-chain/
http://dmitrysoshnikov.com/ecmascrip...r-5-functions/
http://dmitrysoshnikov.com/ecmascrip...er-6-closures/
http://dmitrysoshnikov.com/ecmascrip...eneral-theory/
http://dmitrysoshnikov.com/ecmascrip...mplementation/
http://dmitrysoshnikov.com/ecmascrip...tion-strategy/
ну или читайте учебник на этом сайте
http://learn.javascript.ru/