JavaScript 在循环输入后中断
javascript breaking after input in loop
我不知道为什么这段代码会中断,如果你们可以帮助我,将不胜感激。 在我获得循环中的第一个输入后,它会中断。
<html>
<script type="text/javascript">
gradeWeight = new Array(5);
gradeWeight[1] = 12;
gradeWeight[2] = 18;
gradeWeight[3] = 20;
gradeWeight[4] = 20;
gradeWeight[5] = 20;
var totalGrades;
var count = 1;
var covertToDecimal = Math.pow(10, 2);
var grade = "";
var converterdGrade;
var weightedGrade;
while (count <= 4) {
grade = prompt("Enter grade number", count, " in percent format without the percent sign. Ex. 100 for 100%.", 0);
alert("Do I display after prompt").toString;
//Breaks Here
convertedGrade = parseFloat(grade) * convertToDecimal;
alert("Do I display after converting grade");
weightedGrade = convertedGrade * parseFloat(gradeWeight[count]);
totalGrades = totalGrades + weightedGrade;
count++;
}
totalGrades = totalGrades * 100;
document.Write("Your total weighted grade is", totalGrades);
</script>
</html>
下面
我将概述一些错误。
JSFiddle
// Mistake: Added an extra weight so the total weights sum to 100
// Additionally it's bad practice to have undeclared variables
var gradeWeight = new Array(6);
// Mistake: Arrays are 0-indexed
gradeWeight[0] = 12;
gradeWeight[1] = 18;
gradeWeight[2] = 20;
gradeWeight[3] = 20;
gradeWeight[4] = 20;
gradeWeight[5] = 10;
// Mistake: This variable was uninitialized
var totalGrades = 0;
// Mistake: Typo here
var convertToDecimal = Math.pow(10, 2);
// A for loop accomplishes the same thing and is easier to follow
for (var i = 0; i < gradeWeight.length; ++i) {
// Mistake: Format the string like this.
var grade = prompt("Enter grade number " + (i + 1) + " in percent format without the percent sign. Ex. 100 for 100%.");
// Mistake: Should be divide
var convertedGrade = parseFloat(grade) / convertToDecimal;
var weightedGrade = convertedGrade * gradeWeight[i];
totalGrades += weightedGrade;
}
alert("Your total weighted grade is " + totalGrades);
变量的索引 0 在哪里?
gradeWeight = new Array(5);
gradeWeight[1] = 12;
gradeWeight[2] = 18;
gradeWeight[3] = 20;
gradeWeight[4] = 20;
gradeWeight[5] = 20;
这样做(应该运行)
gradeWeight = new Array(5);
gradeWeight[0] = 12;
gradeWeight[1] = 18;
gradeWeight[2] = 20;
gradeWeight[3] = 20;
gradeWeight[4] = 20;
这就是我可以说的,没有你的错误
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- 嵌套在表单中的引导下拉菜单:输入时选项卡索引中断
- JS在用户输入单引号时中断
- JavaScript 在循环输入后中断
- NG 模型在排除输入中中断
- 使用 Enter 提交表单会在插入输入字段后中断 - 原因以及如何修复
- JS,在数组中添加新输入,如果达到 10,则希望“中断”
- 通过 Ajax 输入 “”时,使用 jQuery 防止布局中断
- Ember.js:原生输入类型="number"约束值时绑定中断