Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

while в java script

14K
29 марта 2011 года
61201
31 / / 03.05.2007
Код:
<html>
<boby>
<script>
function summa(b)
{
var c;
c=4*b;
return c;
}
var num;
var c=new Array();
while(b!=-1)
{
var b=Number(prompt("Enter number: ",""));
c[num-1]=summa(b);
num++;
if (b==-1)
{
alert("Number=-1,this program has been stopped");
break;
}
else if (isNaN(b))
{
alert("This is not a number, repeat plz");
continue;
}
else if (b==" ")
{
alert("This slot is null, repeat plz");
continue;
}
document.write("a=4"+" b="+b+" c="+c[num-1]+"<br>");
}
</script>
</body>
</html>


Если в коде оставить c[num], то первое значение оно не считает. С циклом for все нормально, а что я не правильно делаю в while ? Спасибо:p
277
29 марта 2011 года
arrjj
1.7K / / 26.01.2011
У тебя в коде var num; объявлено отсюда num==undefined; num-1==NaN
перед закрытием скрипта сделай
 
Код:
for(var z in c)
document.write('c['+z+']='+c[z]+'<br />');
для вывода массива.(Выведет c[NaN]=(результат последней summa(b)))
Вот поправленное:
Код:
<html>
<boby>
<script>
function summa(b)
{
var c;
c=4*b;
return c;
}
var num=-1;
var c=new Array();
while(b!=-1)
{
var b=Number(prompt("Enter number: ",""));
if (b==-1)
{
alert("Number=-1,this program has been stopped");
break;
}
else if (isNaN(b))
{
alert("This is not a number, repeat plz");
continue;
}
else if (b==" ")
{
alert("This slot is null, repeat plz");
continue;
}
c[++num]=summa(b);
document.write("a=4"+" b="+b+" c="+c[num]+"<br>");
}
for(var z in c)
document.write('c['+z+']='+c[z]+'<br />');
</script>
</body>
</html>
14K
29 марта 2011 года
61201
31 / / 03.05.2007
Спасибо.
А еще вопрос. В данном коде я делаю проверку на заполнение строки, если по запросу prompt я не ввожу ничего, оно мне пишет, что строка пустая, повторите. Такая же ситуация происходит когда я ввожу 0. Как сделать так, чтобы когда я ввожу 0 код работал, а когда строка пустая, показывало ошибку и предложило повторить ввод?
277
29 марта 2011 года
arrjj
1.7K / / 26.01.2011
Код:
<html>
<boby>
<script>
function summa(b)
{
var c;
c=4*b;
return c;
}
var num=-1;
var c=new Array();
while(true)
{
var b=parseInt(prompt("Enter number: ",""));
if (isNaN(b))
{
alert("This is not a number, repeat plz");
continue;
}
else if (b==-1)
{
alert("Number=-1,this program has been stopped");
break;
}
c[++num]=summa(b);
document.write("a=4"+" b="+b+" c="+c[num]+"<br>");
}
for(var z in c)
document.write('c['+z+']='+c[z]+'<br />');
</script>
</body>
</html>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог