var x = parseInt(new Date().getTime()/1000);
// x нигде больше не используется, почему сразу не присвоить now_time?
var a = a; // эти строки вообще не нужны
var b = b;
var c = c;
var d = d;
var now_time = x;
if(c>0){
if(b > 0 && a > 0){
можно заменить на
if(c>0 && b > 0 && a > 0){
или даже
if(a && b && c)
если они отрицательными не бывают.
plus используется в одном месте, HV, as_sum и per_sec2- вообще не используются.
получается:
function calc_sum(a, b, c, d, N) {
if (a && b && c) {
var now_time = parseInt(new Date().getTime()/1000);
var timer = c < now_time ? now_time - c : 0;
var per_sec = (a / 3600 / d).toFixed(10);
$('#countSum'+N).html((per_sec * b * timer).toFixed(2));
}
}
стало короче, а читабельности все равно не было.
Можно и еще короче
function calc_sum(a, b, c, d, N) {
if (a && b && c) {
var now_time = parseInt(new Date().getTime()/1000);
$('#countSum'+N).html(((a / 3600 / d).toFixed(10) * b * (c < now_time ? now_time - c : 0)).toFixed(2));
}
}
но это совсем моск выносит.