Try/Catch не могу разобраться
вообщем лето, я открыл учебник по джаваскрипту. дошел до 116ой странице (вай маладец)
прочитал, дошел до этой темы думал, что разобрался, написал прогу,поидее должен считать факториал
x = prompt("Икс");
Try {
if (x < 0) throw new Error("x не может быть отрицательным");
else {for(var f = 1; x > 1; f *= x, x--);alert (f);}}
catch(ex) {alert (ex);}
смысл в том, что она не пашет а я уже на"альттабился", чтобы сравнить с учебником все равно ошибки не вижу вообщем вот, заранее спасибо |
try с маленькой буквы.
prompt возвращает строку, а не число. |
благодарю. помогло.
еще буквально 1 вопрос: Есть на форуме тема, где просто задают вопрос, и проблема решается одним ответом? (Как эта моя). Имхо глупо на каждый вопрос тему делать. Поиск юзал сразу как зарегался, не подобрал ключевые слова норм :( |
Если спрашивающий не знает ответа на вопрос, то он не знает и сколько предложений будет в ответе :)
|
ну ладно :)
еще вопрос тогда:
var a= prompt ("Сюда текст наоборот");
a.reverse();
var s = a.join();
document.write (s)
в теории прога должна писать текст наоборот например тевирп в привет или апож в сами знаете что реализация через reverse обязательна (щас это читаю!) подскажите че не так |
о факториалах
Только начинаю учиться javascript... Задали домашнее задание... Написаоть скрипт при помощи цикла для вычисления факториала.
Вот, что у меня получилось:
<html>
<head>
<title> Факториал </title>
</head>
<body>
<script>
var n=prompt("Введи число","")
var z=1;
for (i=1; i<=n; i++);
{
z=z*i;
document.write (z);
}
</script>
</body>
</html>
при вводе числа 5 выдается ответ 6, хотя, судя по логике, все должно быть верно... то есть ответ должен быть 120... (5!=1x2x3x4x5=120) Подскажите, пожалуйста, где я ошиблась? |
интересно какя здесь длина заголовка
у тебя i =1 потом 2-м, 3 и 4
если i<5 то i (max) = 4 но не 5 |
"i" у меня меньше либо равно пяти. то есть? как только "i" достигнет 5 - цикл дожен прекратиться.
|
var n = parseInt(prompt("Введи число", "")); // строку к числу нужно привести
var z = 1;
for (var i = 1; i <= n; i++) { // <-- точка с запятой тут не нужна
z = z * i;
}
document.write (z); // вне цикла должен быть
|
Kolyaj, Спасибо большое! Все заработало! :)
А вот эта строочка мне пока не понятна... этот материал нам не давали...
var n = parseInt(prompt("Введи число", "")); // строку к числу нужно привести
Но и с тем, что было - все работает :) |
| Часовой пояс GMT +3, время: 05:12. |