Javascript切换不确定我是否正确执行此操作

时间:2013-06-28 19:21:03

标签: javascript switch-statement

我有一些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");

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();