当等效的if语句没有时,switch语句不起作用

时间:2014-05-02 14:10:11

标签: javascript if-statement switch-statement conditional-statements string-evaluation

switch(type)
{
    case 'home':
         console.log('home switch');
         break;
}

以上代码不会写入控制台,也不会写入以下内容:

switch(type)
{
     case "home":
         console.log('home switch');
         break;
}

然而,以下情况确实如此:

if (type == 'home')
{
     console.log('home if');
}

我不知道为什么。这不是一个显示阻止,我可以使用if语句,但我真的很好奇为什么会这样。

注意:这些陈述是直接替换,此处无需考虑。范围没有变化,没有代码我没有提及可能会干扰type的价值。

1 个答案:

答案 0 :(得分:8)

那不是等同的if语句。指定switch statement以使用strict equality ===运算符。