作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在一个“if”语句中使用 OR 编写多个条件。
我正在尝试编写的 sudo 代码:
如果状态为空导航,如果状态为“完成”导航,如果状态为“失败”导航。
到目前为止,这是我的代码:
if ((_.isEmpty($scope.status)) || ($scope.status != ('completed' || 'failed'))) {
return frameworkService.navigateTo('giftcardWelcome');
}
_.isEmpty 检查有效,检查状态是否为“已完成”有效,但在检查 || 时对于“失败”,它没有执行此操作。
有人可以向我解释为什么以及如何正确编写吗?我知道我可以写一个扩展的 if 语句,但想要一种干净的重构方式。
最佳答案
('completed' || 'failed')
=== 'completed'
- 因为这就是 javascript 的工作方式 - 你需要单独检查相等性......
你需要
|| ($scope.status != 'completed' && $scope.status != 'failed')
注意 &&
而不是 ||
... 因为 $scope.status != 'completed' || $scope.status != 'failed'
将始终为真 - 因为逻辑
关于javascript - 多个条件用 OR ||在 'if' 声明 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509346/
我是一名优秀的程序员,十分优秀!