javascript – 角js添加两个数字问题

前端之家收集整理的这篇文章主要介绍了javascript – 角js添加两个数字问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码使用角度js:
<!DOCTYPE html >
<html>
<head>
    <title>Untitled Page</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
    <script type="text/javascript">
        function TodoCtrl($scope) {
            $scope.total = function () {
                return $scope.x + $scope.y;
            };

        }
    </script>
</head>
<body>
   <div ng-app>
  <h2>Calculate</h2>

  <div ng-controller="TodoCtrl">
    <form>
        <li>Number 1: <input type="text" ng-model="x" /> </li>
        <li>Number 2: <input type="text" ng-model="y" /> </li>
        <li>Total <input type="text" value="{{total()}}"/></li>       
    </form>
  </div>
</div>

</body>
</html>

我可以进行乘法,除法和减法,但是除此之外,代码只是连接x和y值(即如果x = 3和y = 4,总和是34而不是7)

我究竟做错了什么?

解决方法

如果真的是这样,那么正在发生的是正在传递给x和y的值被视为字符串和级联.你应该做的是使用parseInt将它们转换成数字
return parseInt($scope.x) + parseInt($scope.y);

或者如果你喜欢简洁

return $scope.x*1 + $scope.y*1;

猜你在找的JavaScript相关文章