而循环在javascript中不起作用

而循环在javascript中不起作用,javascript,Javascript,我在使这个代码正常工作时遇到了一些问题。我认为这与while循环有关。另外,我是JavaScript新手,如果您对改进语法或提高代码效率的方法有任何建议,我将不胜感激 代码应该如何工作。 用户输入项目的成本,然后输入项目的金额 给的钱。该程序将计算出零钱以及零钱所需的25美分硬币、10美分硬币、5美分硬币和1美分硬币的数量 运行时会发生什么 两个提示框弹出,然后我得到一个警告 此页上的脚本可能正忙,或已停止响应。您可以立即停止脚本,在调试器中打开脚本,或让脚本继续 /*用户输入项目成本,然后

我在使这个代码正常工作时遇到了一些问题。我认为这与while循环有关。另外,我是JavaScript新手,如果您对改进语法或提高代码效率的方法有任何建议,我将不胜感激

代码应该如何工作。 用户输入项目的成本,然后输入项目的金额 给的钱。该程序将计算出零钱以及零钱所需的25美分硬币、10美分硬币、5美分硬币和1美分硬币的数量

运行时会发生什么 两个提示框弹出,然后我得到一个警告

此页上的脚本可能正忙,或已停止响应。您可以立即停止脚本,在调试器中打开脚本,或让脚本继续

/*用户输入项目成本,然后输入项目金额
给的钱。该程序将计算出零钱以及零钱所需的25美分硬币、10美分硬币、5美分硬币和1美分硬币的数量*/
var cost=prompt('请输入不含税项目的总成本');
成本=浮动(成本);
var moneyGiven=提示(“请输入给定的金额”);
moneyGiven=parseFloat(moneyGiven);
风险价值税=0.15;
税=(成本*税);
var季度=0;
var-dime=0;
var镍=0;
var=0;
var q=0.25;
var d=0.10;
var n=0.05;
var p=0.01;
风险价值变动=(给定金额-(成本+税费));
控制台日志(更改);
而(更改>0){
如果(更改>=q){
变q;
四分之一++;
}否则如果(更改>=d){
改变-d;
dime++;
}否则如果(更改>=n){
变化-n;
镍++;
}否则如果(更改>=p){
变化-p;
便士++;
}
}; //while循环
控制台日志(季度);
控制台日志(dime);
控制台日志(镍);

原木(便士)while循环正常,问题出在语句中

change - q;
change - d;
change - n;
change - p;
您没有更新
change
的值。将这些更改为:

change = change - q;
change = change - d;
change = change - n;
change = change - p;

对于调试问题,请发布所需的和实际的行为。不要将新值指定给
change
,请使用
change-=q
change=change-q我认为缺少更改“change”变量的名称。就像代码
change-d
,不应该是
change=change-d
?这很有效!,谢谢你的帮助。