Javascript 如何确保我的while循环不会破坏我的条件?

Javascript 如何确保我的while循环不会破坏我的条件?,javascript,while-loop,Javascript,While Loop,我正在练习一个简单的while循环。在我的银行账户达到500之前,只花200美元买一部手机,但因为它先买了手机,所以它只知道在它买了手机之后,你的手机价格降到了500美元以下 在我的代码中,它一直在购买,直到bankaccountmoney变量变为400: var bankaccountmoney=2000; var phonesbound=0; 风险价值成本=200; while(bankaccountmoney>500){ phonesbound=phonesbound+1; bankac

我正在练习一个简单的while循环。在我的银行账户达到500之前,只花200美元买一部手机,但因为它先买了手机,所以它只知道在它买了手机之后,你的手机价格降到了500美元以下

在我的代码中,它一直在购买,直到bankaccountmoney变量变为400:

var bankaccountmoney=2000;
var phonesbound=0;
风险价值成本=200;
while(bankaccountmoney>500){
phonesbound=phonesbound+1;
bankaccountmoney=bankaccountmoney-电话成本;
console.log(“money:+bankaccountmoney+”phonesbound:“+phonesbound”);
}
var bankaccountmoney=2000;
var phonesbound=0;
风险价值成本=200;
而(bankaccountmoney>=(500+电话成本)){
phonesbound++;
银行账户货币-=电话成本;
日志(“剩余资金:+bankaccountmoney+”电话购买:“+Phonesbound”);

}
另一种方法,使用两个实用函数。我不喜欢在
中做数学,而在
谓词中做数学。太容易误读了

constphonecost=200;
const targetSavings=500;
//考虑到目标储蓄和购买价格,我能买得起东西吗,
//流动资金呢?
const canAffordPurchase=目标=>购买=>资金=>
(基金-购买>=目标);
//我能买得起这部手机吗?
const canAffordPhone=canAffordPurchase(targetSavings)(电话成本);
设可用资金=2000;
让phonesbound=0;
//尽我所能多买手机。
while(canAffordPhone(可用资金)){
phonesbound+=1;
可用资金-=电话成本;
log(`money:`+availableFunds+“phonesbound:”+phonesbound);

}
while(bankaccountmoney>phonecost){
可能会有帮助:)因此,要么从金额中减去成本,要么将其添加到500。从2000开始,减去200的倍数将永远不会达到500。您是否希望防止其降至500以下?
while(bankaccountmoney>500+phonecost)
while(bankaccountmoney>=500+电话成本)
=
我想..限制在500以下,也可以是==500是的,这可能是OP想要的。修复了答案,谢谢。该死!我不会想到的。所以这里它在检查是否大于500之前减去电话成本。你可以说它试图预测潜在操作的结果,就像你一样在现实生活中,你会这样做:“考虑到我的经常账户余额和电话费,我能买了它,下个月还能支付账单吗?”
while (bankaccountmoney - phonecost >= 500) {
...
}