Другие ответы, опубликованные здесь, лучше, но вот альтернатива:
init()
или код вне литерала объекта Автономные анонимные функции и хранение окон
var foo = {
bar:(function(){
window.temp = "qwert";
return window.temp;
})(),
baz: window.temp
};
Порядок гарантирован (bar
до baz
).
Конечно, он загрязняет window
, но я не могу представить, чтобы кто-то писал сценарий, который требует window.temp
быть постоянным. Может быть, tempMyApp
, если вы параноик.
Это также уродливо, но иногда полезно. Например, когда вы используете API с жесткими условиями инициализации и не чувствуете себя рефакторингом, поэтому область обзора верна.
И конечно, конечно.