Как использовать typeof и переключать регистры в Javascript - PullRequest
11 голосов
/ 06 января 2012

У меня проблемы с выяснением, что не так с кодом ниже.Я проконсультировался, как использовать typeof и случаи переключения , но на данный момент я потерян.Заранее благодарим за советы.

// 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";
  }
}

------------- Обновление -----------------------------------

Оказывается, проблема в моей ошибке (или, скорее, в недосмотре) из-за несоблюдения инструкций.Еще раз спасибо за вашу помощь и комментарии!

Ответы [ 3 ]

23 голосов
/ 06 января 2012

typeof возвращает строку, поэтому она должна быть

function detectType(value) {
  switch (typeof value) {
    case 'string':
      return "str";
    case 'number':
      return "num";
    default:
      return "other";
  }
}
2 голосов
/ 07 января 2012

Это код, который будет работать.Я иду через codeacademy.com также.Проблема была с typeOf со смешанным корпусом.Он чувствителен к регистру и должен быть в нижнем регистре: typeof

function detectType(value) {
  switch(typeof value){
    case "string":
      return "str";
    case "number":
      return "num";
    case "object":
      return "obj";
    default:
      return "other";
  }
}
1 голос
/ 06 января 2012

Этот код будет работать для вас:

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