Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Switch语句不';不能处理某些变量_Javascript_Node.js_Angular_Typescript - Fatal编程技术网

Javascript Switch语句不';不能处理某些变量

Javascript Switch语句不';不能处理某些变量,javascript,node.js,angular,typescript,Javascript,Node.js,Angular,Typescript,我想制作Angular2管道,它根据传递的变量返回不同的值。变量device.display可以是不同的类型(对象或字符串),并且只接受两个值null和“dataTime” 组成部分: <div class="col col-2">{{values[variable.id] | display: device.display}}</div> 我确信在将变量解析为字符串后,它等于“null”或“dateTime”。我用console.log检查了它 问题是switch语句

我想制作Angular2管道,它根据传递的变量返回不同的值。变量
device.display
可以是不同的类型(对象或字符串),并且只接受两个值
null
“dataTime”

组成部分:

<div class="col col-2">{{values[variable.id] | display: device.display}}</div>
我确信在将变量解析为字符串后,它等于
“null”
“dateTime”
。我用
console.log
检查了它


问题是switch语句总是返回默认值:
“abc”

语法错误。您不需要在每个情况下都使用括号,而且您忘记了
中断语句

下面是一个关于如何构建switch case的示例:

switch (new Date().getDay()) {
    case 0:
        day = "Sunday";
        break;
    case 1:
        day = "Monday";
        break;
    case 2:
        day = "Tuesday";
        break;
    case 3:
        day = "Wednesday";
        break;
    case 4:
        day = "Thursday";
        break;
    case 5:
        day = "Friday";
        break;
    case 6:
        day = "Saturday";
}

语法错误。您不需要在每个情况下都使用括号,而且您忘记了
中断语句

下面是一个关于如何构建switch case的示例:

switch (new Date().getDay()) {
    case 0:
        day = "Sunday";
        break;
    case 1:
        day = "Monday";
        break;
    case 2:
        day = "Tuesday";
        break;
    case 3:
        day = "Wednesday";
        break;
    case 4:
        day = "Thursday";
        break;
    case 5:
        day = "Friday";
        break;
    case 6:
        day = "Saturday";
}

对于开关,这是不正确的:

switch (display) {
            case 'dateTime':
                value = value * 60;
                break;
            case 'null':
                value = value;
                break;
            default: 
               value = 'abc';
        }

如果您没有在每种情况下都中断,switch将执行所有情况,那么您如何在所有情况下设置相同的变量,该值是最后一种情况的默认值:abc。

这对于switch不正确:

switch (display) {
            case 'dateTime':
                value = value * 60;
                break;
            case 'null':
                value = value;
                break;
            default: 
               value = 'abc';
        }

如果您没有在每种情况下中断,switch将执行所有情况,然后您如何在所有情况下设置相同的变量,该值是最后一种情况的默认值:abc。

如果您错过Javascript中的break语句,则执行默认语句,且值始终为“abc”

如果您错过了Javascript中的break语句,因此执行了默认语句,并且值始终为“abc”

您需要添加
break在cases之后,并删除case的
{}
为每个开关添加中断。语法不正确。尝试
case:…caseBody;中断您需要添加
中断在cases之后,并删除case的
{}
为每个开关添加中断。语法不正确。尝试
case:…caseBody;中断为什么这么复杂
day=[“星期天”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”][新日期().getDay()]
为什么这么复杂<代码>日期=[“星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”][新日期().getDay()]