while (wight>0);
Точка с запятой эффективно делает этот цикл: в то время как свет больше 0, ничего не делайте. Это заставляет бесконечный цикл, поэтому остальная часть вашего кода не выполняется.
Также, «wight» is не так же, как и «вес». Это еще одна ошибка.
Кроме того, если вы измените эту строку в 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, либо изменить «вес» в этом цикле, чтобы избежать бесконечного цикла.
У вас есть точка с запятой после некоторого времени. Убери это. –
Вы также чередуете «вес» и «свет». –
Все ответы верны, и вы также можете найти себя, проверив консоль в firebug –