我有一些aspx页面(50+)。我需要在每个页面中声明一个(5-7)个全局变量。一个页面中的变量独立于其他页面,即使其中一些可能是相同的。
目前,我在页面顶部和任何函数的外部声明。
我应该采用不同的方法吗?这种方法有什么副作用吗?
如果完全相同,请让我知道。谢谢
发布于 2011-02-21 17:28:15
最佳实践是不要弄乱全局作用域。特别是因为其他框架或插件脚本可能会污染或覆盖您的var。
为自己创建一个命名空间
https://www.geeksforgeeks.org/javascript-namespace/
更多信息请点击这里:https://stackoverflow.com/search?q=namespace+javascript+global
使用不同方法设置var的一些示例
myOwnNS = {}; // or window.myOwnNS
myOwnNS.counter = 0;
myOwnNS["page1"] = { "specificForPage1":"This is page 1"}
myOwnNS.page2 = { "specificForPage2":"This is page 2", "pagenumber":2}
myOwnNS.whatPageAmIOn = function { return location.href.substring(location.href.lastIndexOf('page')+4)}发布于 2011-02-21 17:48:01
正如@mplungjan所说,最佳实践是尽可能避免全局变量。
因为window是全局,所以您可以在任何时间在任何函数中使用window.NAMESPACE ={}声明名称空间;
然后,您可以全局访问命名空间,并在同一函数或另一个函数中将其值设置为属性:
NAMESPACE = { var1:"value", var2:"value" /* etc */ };如果您可以在脚本文件中完成所有这些操作,而不是直接在页面中完成,那就更好了,但是我猜您可能没有静态脚本中提供的值。
发布于 2011-02-21 16:59:00
一种方法是在“根”级别声明变量,即在任何其他JS代码尝试访问它之前,在任何代码块之外声明它。
您可以使用window.variablename = value;设置全局变量,以便至少在表面上保持整洁。
https://stackoverflow.com/questions/5063878
复制相似问题