По иронии судьбы, вы уже экономите projID
в глобальном масштабе (лучше сказать, в пределах window object
на , а не , используя var
в вашем объявлении.
Таким образом, вы уже можете получить доступ к projID
из любого места в вашем коде после его инициализации.
В любом случае, это не хорошая практика, напротив, это очень плохая практика.
Лучший способ, о котором я могу подумать, - это создать свой собственный объект приложения, в котором вы храните все свои данные и получаете к ним доступ оттуда.
var your_application = {
var foo = 'bar',
base = 'ball';
};
// your_application.foo = 'another bar';
Вы можете продвинуть этот принцип довольно далеко, используя замыкания и функциональное программирование . Еще лучшее решение для хранения и хранения данных локально, а не глобально (окно) может выглядеть как
var your_application = function(){
var foo = 'bar',
base = 'ball';
return {
getfoo: function(){
return foo;
},
setfoo: function(newfoo){
foo = newfoo;
}
};
});
var app = your_application();
app.setfoo('foobar!');
alert(app.getfoo());
Такова идея методического программирования javascript. Там есть несколько хороших книг, я бы порекомендовал начать с Javascript: the good parts
Дугласа Крокфорда.
Другим решением для этого должен быть метод jQuery .data()
, который способен хранить данные в глобальном хэше.
// store
$.data(document.body, 'projID', projID);
// access
var foo = $.data(document.body, 'projID');
// remove
$.removeData(document.body, 'projID');