我有一些JS,我通过使用cookie.getDomain读取cookie来设置变量$ domain。
我想要做的是使用一个开关,我“认为”这是正确的方法。如果$ domain ==到特定域,则设置预定义变量$ gid。将有一长串域名,没有域名共享相同的gid,并且无法在cookie创建中设置gid。
以下是我想出的一个例子。这甚至是正确的方法吗?谢谢,如果我需要发布所有代码,请告诉我,我会。但不认为这与这个问题有关。
var gid = getGid();
switch (gid)
{
case $domain == domain1.com:
gid = "40";
case $domain == domain2.com:
gid = "42";
}
代码的$ domain部分
var domain = cookie.getDomain("$2");
答案 0 :(得分:1)
您想要重新排列switch语句,并在括号中使用要与之比较的表达式。
var gid;
switch (domain)
{
case "domain1.com":
gid = "40";
break;
case "domain2.com":
gid = "42";
break;
default:
gid = getGid();
}
以下是JavaScript中有关switch语句的一些信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
另外,如果您已将域的变量声明为domain
,那么您应该稍后将其引用为domain
,而不是$domain
。是与domain
不同的标识符。
答案 1 :(得分:0)
你快到了那里。由于@fernozzle已经给出了一个很好的答案,这里有一个替代方案:
var ListOfDomains = {
'domain1.com': 40,
'domain2.com': 42,
'domain3.com': 50,
'domain4.com': 60
}
var gid = ListOfDomains[domain] || getGid();