Я не понимаю, почему следующий код не работает.JS - переменная область и инициализация внутренней функции
var test=null;
(function(){
var Class=...
test=new Class();
})();
test.doSomething();// ERROR test is null
Как я знаю, если я не объявляю переменную с использованием var, то чем js должен найти переменную за пределами текущей области (функции). Пожалуйста, скажите, что я делаю неправильно.
EDIT
Полный код:
var Application=null;
require(["Aqua","$"],function(Aqua,$){
var Class = Aqua.Application.extend();
Application = new Class();
});
Application.do("aaa");//Application is null
но следующие работы
var Application=null;
require(["Aqua","$"],function(Aqua,$){
var Class = Aqua.Application.extend();
Application = new Class();
Application.do("aaa");
});
@ Jonast92 Это IIFE. * Сразу вызывается *. aka Synchrnous. –
@ Jonast92 False, просто совершенно неправильно. – Scimonster
Это работает для меня; можете ли вы опубликовать весь код? – Scimonster