Да, вы можете добавить их в глобальное пространство имен:
var globalVar1;
$(document).ready(function(){
globalVar1 = "something";
});
$(document).ready(function(){
alert(globalVar1);
});
http://jsfiddle.net/QDPAm/
Если вы не хотите загрязнять глобальную область видоизменения с помощью нескольких переменных, вы можете сделатьобъект, содержащий эти переменные:
var vars = {};
И затем в ваших ready
функциях добавьте переменные к объекту vars
.
$(document).ready(function(){
vars.my_variable_1 = "something";
});
И еще одна функция ready
:
$(document).ready(function(){
alert(vars.my_variable_1);
});
http://jsfiddle.net/aalouv/QDPAm/1/
Я не понимаю, почему ваш пример не должен работать.Может быть, потому что вы пытаетесь получить доступ к некоторым переменным, прежде чем они установлены?
var vars = {};
$(document).ready(function(){
alert(vars.my_variable_1); // undefined
});
$(document).ready(function(){
vars.my_variable_1 = "something";
});
http://jsfiddle.net/aalouv/QDPAm/3/
Кроме того, создание переменных без индикатора var сначала добавит переменную в глобальную область, так что вы можете получить доступ к переменной с помощью: window
или просто без каких-либопространство имен перед.
$(document).ready(function(){
my_variable_1 = "something";
});
$(document).ready(function(){
alert(window.my_variable_1);
alert(my_variable_1);
});
http://jsfiddle.net/aalouv/QDPAm/2/