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>
答
你加倍maxdevice:
maxDevice = parseFloat(maxDevice) + parseFloat(maxDevice);
你应该不是增加3:
maxDevice = parseFloat(maxDevice) + 3;
为什么不'maxDevice + = 3'?然后删除'maxDevice ++'。 –