Switch语句不能正常工作

Switch statement not working correctly

本文关键字:工作 常工作 语句 不能 Switch      更新时间:2023-09-26

我有这个开关语句块,控制变量的类型是字符串。我将这个变量的值与if语句中的另一个字符串进行了比较,它可以工作。但是如果我把它放在switch语句中,它就不起作用了。

代码如下:

type = $('serType');
    if (type == "Age"){
        logger.info('Age'.toLowerCase());
    }
    switch (type){
        case "TV":
            columnHeader = "";
            break;
        case 'Age':
        logger.info("i am in age case");
            columnHeader = "'id', 'pat_name', 'pat_age' ";
            break;              
        default:
        logger.info("i am in default case");
            break;
    }

您在case语句中调用toLowerCase(),将"Age"转换为"age":

case 'Age'.toLowerCase()

而在您的if语句中,您没有这样做:

if (type == "Age")

"Age""age"不是一回事。要解决这个问题,请从case语句中删除.toLowerCase():

case 'Age'

如果你想同时捕获"Age" "age",请参阅这个问题:JavaScript不区分大小写的字符串比较