AngularJs: 如何初始化返回 NaN 的函数的值?

AngularJs: How to initialize the value for function Which is returning NaN?

我在 angularJs 函数中的代码有问题,初始化期间 return NaN 而不是 0。

示例代码在这里

var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    
    
    $scope.finalNo = function(firstNo,secondNo) {
        
        var amount = firstNo*1 + secondNo*1;
        return amount;
    };
});
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

First No: <input type="text" ng-model="firstNo"><br>
Second No: <input type="text" ng-model="secondNo"><br>
<br>
<label ng-init="fullName(firstName,lastName) == 1 ">Final No: {{finalNo(firstNo,secondNo)}}</label>

</div>
  </body>
</html>

输入firstNo和SecondNo后,finalNo显示2号相加。我的问题是它是从 NaN 而不是 0 初始化的。如何从 0 初始化,以及在 NaN 的情况下如何处理 NaN(即),我想要值 0.

提前致谢。

请参考这个link

请将您的脚本更改为以下代码

var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
       $scope.finalNo = function(firstNo,secondNo) {
            var amount = parseInt(firstNo*1 + secondNo*1);
            return amount;
        };
    });

使用 .parseInt() 解析它并且在初始级别模型未初始化因此它将始终 return 计算结果不是数字 (NaN),以避免它 return amount || 0

希望这会有所帮助

var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.finalNo = function(firstNo,secondNo) {
        
        var amount = parseInt(firstNo) * 1 + parseInt(secondNo) * 1;
        return amount || 0;
    };
});
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

First No: <input type="text" ng-model="firstNo"><br>
Second No: <input type="text" ng-model="secondNo"><br>
<br>
<label>Final No: {{finalNo(firstNo,secondNo)}}</label>

</div>
  </body>
</html>

试试这个 -

var amount = parseInt(firstNo) * 1 + parseInt(secondNo) * 1;