如何在Javascript中使用typeof和switch case

时间:2012-01-06 06:37:35

标签: javascript switch-statement typeof

我在查找下面的代码有什么问题时遇到了问题。我已经咨询了如何使用typeofswitch cases,但此时我已经迷失了。提前感谢您的建议。

// Write a function that uses switch statements on the
// type of value. If it is a string, return 'str'. If it
// is a number, return 'num'. If it is an object, return
// 'obj'. If it is anything else, return 'other'.
function detectType(value) {
  switch (typeof value) {
    case string:
      return "str";
    case number:
      return "num";
    default:
      return "other";
  }
}

-------------更新--------------------------------- -

结果证明问题来自于我没有正确遵循指示的错误(或者说是疏忽)。再次感谢您的帮助和评论!

4 个答案:

答案 0 :(得分:23)

typeof返回一个字符串,因此它应该是

function detectType(value) {
  switch (typeof value) {
    case 'string':
      return "str";
    case 'number':
      return "num";
    default:
      return "other";
  }
}

答案 1 :(得分:2)

这是可行的代码。我也正在通过codeacademy.com coures。问题是 typeOf 混合套管。它区分大小写,应全部为小写: typeof

function detectType(value) {
  switch(typeof value){
    case "string":
      return "str";
    case "number":
      return "num";
    case "object":
      return "obj";
    default:
      return "other";
  }
}

答案 2 :(得分:1)

这是适合您的代码:

function detectType(value) {
  switch (typeof value) {
  case "string":
     return "str";
  case "number":
     return "num";
  default:
     return "other";
  }
}

答案 3 :(得分:0)

typeof 返回一个字符串,因此您应该将 switch case 括在单引号之间。


function detectType(value) {
  switch (typeof value) {
    case 'string': // string should me 'string'
      return "string";
    case 'number':
      return "number";
    default:
      return "other";
  }
}

?