Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   alert( (5-5)/(5-5) ) КАК посчитать такое выражение одной строкой? (https://javascript.ru/forum/misc/24010-alert-5-5-5-5-kak-poschitat-takoe-vyrazhenie-odnojj-strokojj.html)

Livanderiaamarum 15.12.2011 00:29

alert( (5-5)/(5-5) ) КАК посчитать такое выражение одной строкой?
 
оператор скобки возвращает не infinity NAN и вычисления прекращаются.

dmitriymar 15.12.2011 00:36

var a=0/0;
alert(a);
alert(typeof(a));
a=1/0;
alert(a);
alert(typeof(a));

особенности интерпритатора

Livanderiaamarum 15.12.2011 00:42

Цитата:

Сообщение от dmitriymar (Сообщение 142963)
var a=0/0;
alert(a);
alert(typeof(a));
a=1/0;
alert(a);
alert(typeof(a));

особенности интерпритатора

точно, спасибо, а я подумал что 0/0 будет бесконечность.

trikadin 15.12.2011 00:43

Цитата:

Сообщение от Livanderiaamarum
операторы арифметики могут (ли) работать со строковым значением если это строка равна "infinity" при этом не делать коннактацию?

Что помешало проверить? И какие арифметические действия вы будете производить с бесконечностью?)

a=1/0;
alert(typeof(a));
a+="";
alert(typeof(a))
a= +a;
alert(typeof(a))
alert(a);

dmitriymar 15.12.2011 00:43

Цитата:

Сообщение от Livanderiaamarum
это строка равна "infinity" при этом не делать коннактацию?

var a =1/0;
var b=3;
var c=a+b;
var d=b+a;
alert(a);
alert(c);
alert(typeof(c));
alert(d);
alert(typeof(d));

trikadin 15.12.2011 00:44

dmitriymar, успел на секунду быстрее, буквально... И мне кажется, вы не совсем по теме ответили...

dmitriymar 15.12.2011 00:51

Цитата:

Сообщение от trikadin
И мне кажется, вы не совсем по теме ответили...

в принципе да не сделал сложение со строкой. но вроде его интересовало сложение бесконечности с числом. бесконечность+- число ===бесконечность

Livanderiaamarum 15.12.2011 00:53

я проверяю пересекает ли одна линия (розовая) определенный горизонтальный луч(голубой) (на высоте y)

x = (y-y1)/(y2-y1)*(x2-x1) + x1

вернее проверяю на каком x эта линия пересечет высоту y
линия строится по двум точкам.
x1 y1 - первая
x2 y2 - вторая

Получается что если x = (y-y1)/(y2-y1)*(x2-x1) + x1
в этом выражении (y-y1)/(y2-y1) будет принимать форму типа
(5-5)/(5-5), соответственно 0/0 получается что линия наша просто параллельна лучу, и лежит на нем?

для наглядности:

trikadin 15.12.2011 00:59

Цитата:

Сообщение от Livanderiaamarum
а когда нет. в таком случае чтобы все записать одной строкой нужно использовать тернатный оператор)?

Можно.

А ещё можно не одной строкой. Вас за это никто не побьёт.

with-love-from-siberia 15.12.2011 01:04

Цитата:

Сообщение от dmitriymar
особенности интерпритатора

неправда ваша.
Цитата:

Сообщение от Livanderiaamarum
возвращает не infinity ,а NAN

Это логично. 0 / 0 - это неопределенность, которая не может быть представлена конечным или бесконечным числом, поэтому в языке обозначается - NAN. Просто отлавливайте такие ситуации.


Часовой пояс GMT +3, время: 12:33.