JavaScript模块不能正确递增变量值

问题描述:

有人可以借用一些建议。我写过这个脚本,它应该显示最大连接和当前连接。当你添加一个额外的连接时,maxDevice变量将会获得一个额外的3,所以如果3个连接中有3个已经被使用,下一个连接,3个中的4个会显示为4个中的6个。如果用户达到6个在6之中,然后到6中的7中,输出将变为9中的7,因为最大连接将再次添加3,并且继续直到无穷大。JavaScript模块不能正确递增变量值

使用模数来找出设备连接和最大连接结果是0是否是一个好的开始,但是我现在还没有能够让脚本在6以上工作,如果现在运行,它会报告7出12这显然不是我所追求的。

我不明白为什么突然从3,6和现在12跳。不应该是3,6,9吗?

谢谢你的时间!

<!doctype html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<meta charset="UTF-8"> 
<title>Testing</title> 
</head> 
<body> 
<p>You have used <span class="deviceNum"></span> out of <span class="maxcon"></span> available connections.</p> 
<span class="devicenumwarning"></span> 
</body> 
<script> 

var maxDevice = 3; 
var deviceNum = 7; 

if(deviceNum > maxDevice) { 

    //check if device number is greater than max checkon from bap and warn user of upcharge 
    $('.devicenumwarning').text('You have reached your connection rate.'); 


    for (i = 0; i < deviceNum; i++) { 

     console.log('this is: ' + maxDevice); 
     if(i % maxDevice === 0){ 
      maxDevice = parseFloat(maxDevice) + parseFloat(maxDevice); 
     } 

     $('.deviceNum').text(deviceNum); 
     $('.maxcon').text(maxDevice); 

    } 
maxDevice++; 

} else { 
    console.log('else'); 
    $('.maxcon').text(maxDevice); 
    $('.deviceNum').text(deviceNum); 
} 
</script> 
</html> 
+1

为什么不'maxDevice + = 3'?然后删除'maxDevice ++'。 –

你加倍maxdevice:

maxDevice = parseFloat(maxDevice) + parseFloat(maxDevice); 

你应该不是增加3:

maxDevice = parseFloat(maxDevice) + 3;