为什么不是';我的JavaScript循环不能工作吗?
循环应该获取每本书的价格,将其添加到总价格中,然后将每本书的平均价格放在页面上,直到用户输入“N”为什么不是';我的JavaScript循环不能工作吗?,javascript,Javascript,循环应该获取每本书的价格,将其添加到总价格中,然后将每本书的平均价格放在页面上,直到用户输入“N” var-ct=1; var yesORno=“Y”; while(yesORno=“Y”){ book=prompt(“book#”的价格是多少?+ct,0); 总计=帕塞因特(图书)+总计; ans=总数/ct; 文件。写(“带书”#“+ct+”,平均值为“+ans+””; ct=ct+1; yesORno=prompt(“您想继续吗?(Y/N)”,“”) } 您应该将while条件更改为:
var-ct=1;
var yesORno=“Y”;
while(yesORno=“Y”){
book=prompt(“book#”的价格是多少?+ct,0);
总计=帕塞因特(图书)+总计;
ans=总数/ct;
文件。写(“带书”#“+ct+”,平均值为“+ans+””;
ct=ct+1;
yesORno=prompt(“您想继续吗?(Y/N)”,“”)
}
您应该将while条件更改为:
while (yesORno == "Y")
仅使用=
将使其将“Y”值赋给yesORno并返回自身,该值被评估为true并使其永远运行。var ct=1;
var ct = 1;
var yesORno = "Y";
while (yesORno == "Y"){
book = prompt("What is the price of book #" + ct, 0);
total = parseInt(book) + total;
ans = total / ct;
document.write("<p>With book #" + ct +" The average is " + ans + "</p>");
ct = ct + 1;
yesORno = prompt("Would you like to continue? (Y/N)", "")
}
var yesORno=“Y”;
而(yesORno==“Y”){
book=prompt(“book#”的价格是多少?+ct,0);
总计=帕塞因特(图书)+总计;
ans=总数/ct;
文件。写(“带书”#“+ct+”,平均值为“+ans+””;
ct=ct+1;
yesORno=prompt(“您想继续吗?(Y/N)”,“”)
}
请看第三行。与前面提到的其他行一样,您使用了赋值运算符
=
,而不是相等运算符=
或严格相等运算符==
然而,您也可以使用do-while循环来重构代码。这样就不需要使用yesORno
变量
do {
//...
} while(prompt("Would you like to continue? (Y/N)", "") === 'Y')
这是一个无限循环。
while(yesORno=“Y”){
应该是while(yesORno==“Y”){
用于查找代码中的常见错误。(可选)还应该检查“Y”
do {
//...
} while(prompt("Would you like to continue? (Y/N)", "") === 'Y')