可以创建全局URL变量吗?

时间:2016-10-15 23:39:50

标签: javascript jquery variables

我需要传递一个url参数的脚本。我还有许多页面(静态)页面要求我硬编码本地环境的域/子域。

我想要做的是将url存储在一个全局变量中,这样我就必须在一个位置更改url以提供依赖它的下游各种脚本。

我想到了一个包含的简单全局文件,例如:

var myURL = 'http://www.google.com'

我会有额外的网址,但我打算与这些网页进行实物跟进。

我听说这不是好习惯,但考虑到我的目的,还有什么选择呢?

2 个答案:

答案 0 :(得分:3)

如果你真的需要进行一些全局配置,我会把它放在一个对象/类中,这样你就可以将全局变量的使用限制在最低限度,例如:

var Config = {
    googleUrl: 'https://google.com',
    otherUrl: 'http://example.com',
};

这比每件事都有一个全局变量要好。

  

我听说这不是一个好习惯,但考虑到我想做什么,还有什么选择呢?

可能值得再解释一下您的用例。例如,这些URL是否适合生活在JavaScript配置中,或者它们属于特定的UI组件?如果是这样,UI组件应该将HTML元素上的URL指定为数据属性吗?如果它们属于特定的JS模块,它们应该是该模块的局部变量吗?

  

我还有许多(静态)页面要求我对本地环境的域/子域进行硬编码。

你能不能使用window.location.hostname吗?

答案 1 :(得分:-2)

我可能错了,但我不知道为什么这应该是一个问题,只要你使用constants

const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];

编辑: 但最后你应该避免使用全局变量,因为它们可能会在以后的调试中引起一些问题。