3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
1

var i; ... try { i = Sqr (i); } catch (err) { WScript.echo ("Negative number " + i); }

15.12.2011, 18:33. Показов 1180. Ответов 5
Метки нет (Все метки)

Мужики, ногами не бейте, поскольку я в jscript новичок. Действую по аналогии с java. Итак, надо выполнить следующий код:
Javascript
1
2
3
4
5
6
7
8
var i;
...
try {
    i = Sqr (i);
}
catch (err) {
    WScript.echo ("Negative number " + i);
}
По идее, если i >= 0, то блок "catch" выполняться не должен. Но ни фига подобного: вне зависимости от знака i, этот блок срабатывает и выводится сообщение из блока catch. Что не так ?

Win2000, WSH 5.6

Спасибо
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2011, 18:33
Ответы с готовыми решениями:

В JavaScript точка с запятой ";" и слово "var" являются необязательными?
Привет всем. Сначала я почитал немного онлайн-уроки и пару видео про JS. Там после каждой команды...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

Получить значение из {"text1":"val1","text2":"val2","text3":{"text":"val"}}
Есть такая строка var my = '{"text1":"val1","text2":"val2","text3":{"text":"val"}}'; Как из...

Test={pero:"lorem"} var t="pero"; console.log(test.t) возможно ли такое ?
Здравствуйте возможно ли такое ? и если да как правильно это написать ? var test={ pero:...

5
84 / 60 / 69
Регистрация: 15.03.2007
Сообщений: 6,908
15.12.2011, 19:23 2
Если ты хочешь излечь из числа квадратный корень, то надо писать i = Math.sqrt(i); В блок catch он у тебя попадал из-за ошибки интерпретации скрипта.

Далее: если методу sqrt передать отрицательное число, то он не возбудит исключение, а вернет специальное значение "Not A Number" - NaN. Проверку на него надо делать так
Javascript
1
2
i = Math.sqrt(i);
if (isNaN(i)) WScript.Echo("Negative number!");
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
15.12.2011, 19:48  [ТС] 3
Спасибо !
Ладно, насчет квадратного корня я понял. Но почему не ловится исключение на таком коде:
Javascript
1
2
3
4
5
6
7
8
9
var i;
...
try {
i = i/0;
WScript.echo (i);
}
catch (err) {
WScript.echo ("Alarm: deep anus !!!);
}
Выводится (извиняюсь) какая-то хрень: 1,#INF.
Я понимаю, что речь идет о бесконечности, но все равно - ИМХО, нелогично.
0
84 / 60 / 69
Регистрация: 15.03.2007
Сообщений: 6,908
18.12.2011, 10:46 4
JavaScript не Java и не возбуждает исключений в таких случаях. При делении на 0 результатом будет NaN.
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
18.12.2011, 11:49  [ТС] 5
Понял, спасибо. Буду привыкать Кстати, а не подскажете ссылку на хорошее описание JS ?
0
84 / 60 / 69
Регистрация: 15.03.2007
Сообщений: 6,908
18.12.2011, 12:06 6
Мы пытались недавно собрать ссылки по JavaScript - http://www.relib.com/forums/thread881483.aspx - но, народ особой активности не проявил.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2011, 12:06
Помогаю со студенческими работами здесь

Как сохранить введенное число в type="number" в localStorage?
Как сохранить введенное число в type="number" в localStorage так, чтобы при обновлении страницы...

Баг с точкой в input type="number"
заметил такой баг, который очень мешает валидации, связанный с type="number", если ввести после...

type="number" и javascript
Как работать с этим : <input type="number" min="0" max="10" step="2" value="6"> и Этим: ...

Нули в input="number"
Всем доброго времени суток. Вопрос такой: В поле для ввода чисел - <input type="number">...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru