如何编写 if ,else 块用于多个条件?

How to write if ,else block for multiple conditions?

我是 javascript 的新手,使用以下代码编写 if 和 else 块的正确方法是什么?我在 else 条件下遇到语法不正确的错误。请让我知道我实施错误的地方。

main.js

if (dataRow.opriskYesNo === 'Yes') {
    $scope.opRiskCompleted = 'Y';
} else if (dataRow.opriskYesNo === 'No') {
    $scope.opRiskCompleted = 'N';
} else(dataRow.opriskYesNo === '') {
    $scope.opRiskCompleted = '';
    $scope.opRiskCompleted = '';
}

试试这个:

if(dataRow.opriskYesNo==='Yes'){
    $scope.opRiskCompleted = 'Y';
} else if (dataRow.opriskYesNo==='No') {
    $scope.opRiskCompleted = 'N';
} else {
    $scope.opRiskCompleted = '';
    $scope.opRiskCompleted = '';
}

您的最后一个条件代码块中应该 else 没有任何条件。

虽然改进后的版本如下所示,但我会说维护一个具有键值的对象并使用它。

var mappedModel = {'Yes': 'Y', 'No': 'N'};
$scope.opRiskCompleted = mappedModel[dataRow.opriskYesNo] || '';

你为什么不使用 Switch?

switch(dataRow.opriskYesNo){
case "Yes":
    $scope.opRiskCompleted = 'Y';
    break;
case "No":
     $scope.opRiskCompleted = 'N';
    break;
default:
     $scope.opRiskCompleted = '';
    break; }