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;
我在 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;