All numbers must fall between Number.MAX_VALUE and Number.MIN_VALUE.
When a calculation results in a number greater than Number.MAX_VALUE, it is assigned a value of Number.POSITIVE_INFINITY.
When a calculation results in a number less than Number.MIN_VALUE, it is assigned a value of Number.NEGATIVE_ INFINITY.
If a calculation returns an infinite value, the result cannot be used in any further calculations.
There is a special value for infinity named Infinity.
Number.POSITIVE_ INFINITY has a value of Infinity.
Number.NEGATIVE_INFINITY has a value of -Infinity.
A method can be used to determine if a number is finite.
var iResult = iNum* some_really_large_number;
if (isFinite(iResult)) {
alert("Number is finite.");
} else {
alert("Number is infinite.");
}
The perils of Javascript - Number.MIN_VALUE
from lodge.stuart at gmail.com
Just spent some time debugging a problem....
I had a filter set up in my new player code on runsat - and when the filter was disabled I was setting
the filter limits to Number.MIN_VALUE and Number.MAX_VALUE.
I thought this would be fine because several site like
http://www.java2s.com/Tutorial/JavaScript/0100__Number-Data-Type/NumberMAXVALUEandNumberMINVALUEdefinetheouterboundsoftheNumbervalueset.htm say things like:
When a calculation results in a number greater than Number.MAX_VALUE, it is assigned a value of Number.POSITIVE_INFINITY.
When a calculation results in a number less than Number.MIN_VALUE, it is assigned a value of Number.NEGATIVE_ INFINITY.
However.... this is complete "codswollop" - actually MIN_VALUE is an epsilon value - it's the smallest positive fraction allowed in javascript - so it's not negative - in fact it's almost (but not quite) zero.
Looking around loads of sites contain big info on this!
Yikes!