while (wight>0);
分號有效地使循環:當懷特大於0時,什麼都不做。這迫使一個無限循環,這就是爲什麼其他代碼不能執行。
另外,'wight'是而不是與'weight'相同。這是另一個錯誤。
此外,如果更改了該行對while (weight > 0)
,你仍然有一個無限循環,因爲再執行不改變「重」的代碼 - 因而,它會總是大於0(除非號在提示符處輸入小於0,在這種情況下根本不會執行)。
你想要的是:
var weight;
weight=parseInt(prompt("Please, enter weight")); // Missing parenthesis
// Those two lines can be combined:
//var weight = parseInt(prompt("Please, enter weight"));
while(weight>0)
{
if (weight>199 && weight<300)// REMOVE semicolon - has same effect - 'do nothing'
{
document.write("Tax will be" + weight*5);
// above string probably needs to have a space at the end:
// "Tax will be " - to avoid be5 (word smashed together with number)
// Same applies below
}
else
{
document.write("Tax will be" + weight*10);
}
}
即語法正確。您仍然需要更改while條件,或者更改該循環內的「weight」,以避免無限循環。
您在一段時間後,有一個分號。去掉它。 –
你也在'weight'和'wight'之間交替。 –
所有的答案都是正確的,你也可以通過檢查控制檯在螢火蟲找到你自己 –