我想我知道答案但是......有没有办法阻止全局变量被后来执行修改?我知道全局变量首先是坏的,但是在必要时,有没有办法让它"最终"或"不可变"?欢迎黑客/创意解决方案.谢谢
该常量关键字?
您可以使用闭合技术,MYGLOBALS是,有一个叫做的getValue反对"全局"关联数组函数是超出范围以外MYGLOBALS例如一切的对象.
var MYGLOBALS = function() { var globals = { foo : "bar", batz : "blah" } return { getValue : function(s) { return globals[s]; } } }(); alert(MYGLOBALS.getValue("foo")); // returns "bar" alert(MYGLOBALS.getValue("notthere")); // returns undefined MYGLOBALS.globals["batz"] = 'hardeehar'; // this will throw an exception as it should
我知道这个问题很旧,但你可以使用Object.freeze(yourGlobalObjectHere); 我刚刚在这里写了一篇关于它的博客文章.
是的,const在某些语言中是常数或最终的缩写.谷歌"javascript变量常数"或常量加倍我甚至自己测试过它
const yourVar = 'your value';
那就是你要找的东西.