0

我有一些 JS,我通过使用 cookie.getDomain 读取 cookie 来设置变量 $domain。

我想要做的是使用一个开关,我“认为”这是正确的方法。如果 $domain == 到特定域,则设置预定义变量 $gid。会有很长的域列表,并且没有域共享相同的 gid,并且 gid 不能在 cookie 创建中设置。

这是我想出的一个例子。这甚至是正确的方法吗?谢谢,如果我需要发布所有代码,请告诉我,我会的。但不认为它与问题有关。

var gid = getGid();
switch (gid)
{
        case $domain == domain1.com:
                gid = "40";
        case $domain == domain2.com:
                gid = "42";
}

代码的 $domain 部分

var domain = cookie.getDomain("$2");
4

2 回答 2

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

于 2013-06-28T19:28:17.277 回答
0

你几乎到了那里。由于@fernozzle 已经给出了一个很好的答案,这里有一个替代方案:

var ListOfDomains   = {
    'domain1.com': 40,
    'domain2.com': 42,
    'domain3.com': 50,
    'domain4.com': 60
}
var gid = ListOfDomains[domain] || getGid();
于 2013-06-28T19:45:39.203 回答