切换javascript中的意外标记

switch unexpected token in javascript

本文关键字:意外 javascript 切换      更新时间:2023-09-26

我在下面的代码中发现了一个意外的令牌。

        switch ( hobby ) {
            case =" painting ":
                message = "Van Gogh was good at that.";
                    break;
            case =" drawing ":
                message = "Hey! Van Gogh did that too.";
                    break;
            case =" playing guitar ":
                message = "Bob Dylan played guitar.";
                    break;
            case =" sleeping in ":
                message = "My favorite hobby in the winter.";
                    break;
            default
        }

有人看到我缺了什么吗?

您的语法已关闭。在cases之后删除=。此外,您还需要在default之后放置:

有关switch语句的详细信息,请参阅此处。

您可以利用函数语义来避免在每个case:中使用break

var message = (function(){
  switch (hobby) {
    case 'painting':        return 'Van Gogh was good at that.'
    case 'drawing':         return 'Hey! Van Gogh did that too.'
    case 'playing guitar':  return 'Bob Dylan played guitar.'
    case 'sleeping in':     return 'My favorite hobby in the winter.'
  }
}())

然而,表达这种逻辑的最佳方式可能是如下所示:

var messages = {
  'painting':       'Van Gogh was good at that.',
  'drawing':        'Hey! Van Gogh did that too.',
  'playing guitar': 'Bob Dylan played guitar.',
  'sleeping in':    'My favorite hobby in the winter.'
}
var message = messages[hobby]