у переменной объявленной внутри функции -область видимости локальная . если её объявить вне функции у неё будет другая область видимости. сейчас она в замыкании объявлена.объявить её нужно до $(document).ready
(function (){var a =10;})();
alert(typeof a);
alert(a);
var a;
(function (){a =10;})();
alert(typeof a);
alert(a);