【发布时间】:2017-06-07 23:29:38
【问题描述】:
我正在学习 AngularJS,尝试制作一个简单的计算器,我正在尝试浓缩这个 if/else if 语句到 1-2 行,使用 Javascript 逻辑运算符(&&、||、!)
鉴于这个例子,我怎样才能减少它?
(如果你不明白$scope,请忽略它。它基本上是一个视图。所以当有人点击9时,计算器会在答案屏幕上显示9)
$scope.setOperand = function (operandEntered) {
if ($scope.leftOperand === null) {
$scope.leftOperand = operandEntered;
}
else if ($scope.operator === null) {
$scope.leftOperand = $scope.leftOperand + operandEntered;
}
else if ($scope.rightOperand === null) {
$scope.rightOperand = operandEntered;
}
else if ($scope.answer === null) {
$scope.rightOperand = $scope.rightOperand + operandEntered;
}
};
【问题讨论】:
-
为什么要这样做?它变得更难阅读和维护。编写尽可能短的代码绝对没有任何好处,因为您“可以”。顺便提一句。在现实世界中,代码会被 uglify 等工具缩小和优化,因此您应该尽可能以最易读的方式编写代码。
-
我不知道我理解代码的逻辑。将其变为两行很容易,只需删除空格,直到它全部适合两行。
标签: javascript angularjs logical-operators