Javascript切换声明?

时间:2016-11-15 13:32:24

标签: javascript

我有一些代码如下:

for (var i = 0; i < $scope.Option.length; i++) {
    var option = $scope.Option[i].Code;

    if (option == "A") {
        $scope.aSelected = true;
        break;
    }
}

for (var i = 0; i < $scope.Option.length; i++) {

    var option = $scope.Option[i].Code;

    if (option == "B") {
        $scope.bSelected = true;
        break;
    }
}

是否可以在下面的开关语句中对此进行修改:

for (var i = 0; i < $scope.Option.length; i++) {

    var option = $scope.Option[i].Code;

    switch (option) {
        case "A":
            $scope.aSelected = true;
            break;
        case "B":
            $scope.bSelected = true;
            break;
        default:
            console.log('unrecognized option');
    }
}

这在开关情况下实际上是不正确的,因为第一个选项可能是A,它会突破循环,然后例如,如果&#39; B&#39;是集合的后期位置的选项,它永远不会得到bSelected = true;

1 个答案:

答案 0 :(得分:1)

这是正确的,因为SWITCH内部的BREAK会突破它,而不是整个FOR循环,因此它也会检查B。