0
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.

4

1 回答 1

8

这不是等效的 if 语句。该switch语句被指定为使用严格相等 ===运算符。

于 2014-05-02T14:12:33.750 回答