Проблема при создании калькулятора

193
28 августа 2017, 09:38

Проблема в том, что при сложение двух чисел (создается сначала первое, потом при нажатии плюса, минуса, делить или умножить создается второе, а потом все складывается) выводится непонятная вещь.

Вот код:

var arrdigit = []; 
var arrdigit2 = []; 
for (var i = -1; i < 10; i++) { 
  $("." + i).text(i); 
} 
 
 
for (var d = 0; d < 10; d++) { 
  (function(d) { 
    $("." + d).click(function() { 
      arrdigit.push(d); 
      $(".digit").text(arrdigit.join("")); 
    }); 
  })(d); 
} 
 
 
 
 
 
$(".plus").click(function() { 
  totaldigit = arrdigit.join(""); 
  $(".znak").text("+"); 
  for (var j = 0; j < 10; j++) { 
    (function(j) { 
      $("." + j).click(function() { 
        arrdigit2.push(j); 
        $(".digit").text(arrdigit2.join("")); 
      }); 
    })(j); 
  } 
}); 
 
 
 
 
 
 
$(".umnoj").click(function() { 
  totaldigit = arrdigit.join(""); 
  $(".znak").text("x"); 
  for (var k = 0; k < 10; k++) { 
    (function(k) { 
      $("." + k).click(function() { 
        arrdigit2.push(k); 
        $(".digit").text(arrdigit2.join("")); 
      }); 
    })(k); 
  } 
}); 
 
 
$(".delit").click(function() { 
  totaldigit = arrdigit.join(""); 
  $(".znak").text("÷"); 
 
  for (var l = 0; l < 10; l++) { 
    (function(l) { 
      $("." + l).click(function() { 
        arrdigit2.push(l); 
        $(".digit").text(arrdigit2.join("")); 
      }); 
    })(l); 
  } 
}); 
 
 
 
 
 
$(".minus").click(function() { 
  totaldigit = arrdigit.join(""); 
  $(".znak").text("-"); 
  for (var y = 0; y < 10; y++) { 
    (function(y) { 
      $("." + y).click(function() { 
        arrdigit2.push(y); 
        $(".digit").text(arrdigit2.join("")); 
      }); 
    })(y); 
  } 
}); 
 
 
$(".equal").click(function() { 
  var hn = parseInt(arrdigit.join(""), 10); 
  var hm = parseInt(arrdigit2.join(""), 10); 
  console.log(hn + hm); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

Например, при сложении 25 и 31 выводится 2562, хотя я смотрел, typeof (hn и hm) равны number и должны складываться как обычные int'ы. С чем это может быть связано и как такое пофиксить?

READ ALSO
Зачем в meteor js 1.5 вставки import?

Зачем в meteor js 1.5 вставки import?

Во всех файлах по умолчанию указывается вначале:

220
Поиск из пунктов

Поиск из пунктов

Имеется выпадашка, в которой содержаться пункты с названиями городов, а также placeholderСуть идеи такова, что когда пишешь в placeholdere название города,...

224
Обрезать текст при вставке из буфера обмена

Обрезать текст при вставке из буфера обмена

Есть определенный html в буфере обмена

328
Meteor.js производительность

Meteor.js производительность

Интересно, кто-то создавал 20000 строк в базе и проверял в разных вариантах деплоя, на сколько быстро в действительности Meteor отдаёт этот списокЕсть...

207