Показать сообщение отдельно
  #6 (permalink)  
Старый 09.04.2014, 16:45
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Universe
//Window можно и не передавать, но тогда к нему нельзя будет обратится в локальных функция
тут неудачное название параметра функции, window доступен всегда, такая запись позволяет избавиться от имени неймспейса
var namespace = {};
namespace.property = value;

в данном случает namespace = window
var namespace = window;
namespace.property = value;

window.property == value // → true

то есть мы сможем поменять namespace, как захотим, и не придется во всем коде переписывать его название:
(function (namespace) {

	namespace.property = value;	

}(window));

//или

(function (namespace) {

	namespace.property = value;	

}(otherObject));
поменялся только аргумент функции, в теле ничего менять не пришлось


Сообщение от Universe
//После того как функция выполнится - все переменные в этом блоке будут уничтожены
Нет, их замкнут в себе Ball и init, а так как Ball и init будут доступны по ссылке всегда, то замкнутые переменные никуда не денутся из памяти, они просто не доступны глобально, но доступны внутри Ball и init

Последний раз редактировалось Octane, 09.04.2014 в 16:53.
Ответить с цитированием