好吧,讽刺的是你已经在存钱了projID
在全球范围内(更好的说法是,在window object
by not using var
在你的声明中。
所以您已经可以访问projID
一旦初始化,就可以从代码中的任何地方进行操作。
无论如何,这不是一个好的做法,相反,这是一个非常糟糕的做法。
我能想到的最好的方法是创建您自己的应用程序对象,在其中存储所有数据并从那里访问它。
var your_application = {
var foo = 'bar',
base = 'ball';
};
// your_application.foo = 'another bar';
您可以使用以下方法将这一原则推得更远closures and 函数式编程。存储和保存数据本地而非全局(窗口)的更好解决方案可能如下所示
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');