我正在测试JavaScript中的switch语句,并希望将其中一个写入函数以重复执行。
我一直在编写一个基本函数,该函数将“ male”或“ female”作为参数,并将一个或另一个记录到控制台:“它是男孩!”或“它是一个女孩!”。
function checkGender(gender){
gender = "";
switch (gender){
case "male":
console.log("it's a boy!");
// have also tried using a return statement.
break;
case "female":
console.log("it's a girl!");
break;
}
}
checkGender("male");
// => should return "it's a boy!".
预期:调用该函数应将log语句返回到控制台。
实际结果:控制台返回“ undefined”作为值。
答案 0 :(得分:1)
您将变量gender
设置为无内容""
,因此case函数将看不到男性或女性,因此将不返回任何内容,或返回undefined
。
答案 1 :(得分:1)
通过在功能块内设置gender
,可以覆盖提供给功能的gender=''
值。基于新的gender
值(为空),不存在大小写,因此控制台中没有任何内容。不要重置提供给函数的gender
值,它将起作用:
function checkGender(gender) {
switch (gender) {
case "male":
console.log("it's a boy!");
// have also tried using a return statement.
break;
case "female":
console.log("it's a girl!");
break;
}
}
checkGender("male");
答案 2 :(得分:0)
函数的第一条指令会影响gender
参数的空字符串。因此,没有一种情况匹配。
顺便说一句,checkGender
函数不返回任何内容。它仅执行console.log
(如果开关的一种情况匹配)。其返回值将始终是不确定的。