我在查找下面的代码有什么问题时遇到了问题。我已经咨询了如何使用typeof和switch 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";
}
}
-------------更新--------------------------------- -
结果证明问题来自于我没有正确遵循指示的错误(或者说是疏忽)。再次感谢您的帮助和评论!
答案 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";
}
}
?