在Javascript中,数学运算可以通过两种操作来实现:



1、+、、、、、%和其他运算符。

2。利用数学对象的计算功能。例如,Math.pow(2,3)是用来计算3次2。



不像java,Javascript的数学操作不会抛出任何错误。溢出的计算结果除以0,开这些操作的负面都是合法的,其结果是Javascript中的一个特殊值:正负无穷(无限),0、楠(非负数):



1。正负无穷。当计算结果大于最大数(数。max_value)用Javascript,结果是正无穷大。当计算结果小于最小的数(数。max_value)用Javascript,结果为负无穷大。数学运算+,-,*,/ /,与无限按照极限计算规则在高等数学。1 / 0的结果为阳性无穷大,结果- 1 / 0是负无穷大。



2。积极的和消极的0。当计算结果是积极的,但它是小于最小的十进制数(数。min_value)用Javascript,结果是积极的0。当计算结果为负,但最大负十进制数(数。min_value)大于Javascript可以表示为负0。在一般情况下,开发人员不需要关心的区别正、负0。



3.nan.for一些特殊的计算结果不能由正负无穷表示,Javascript是表示由楠(值得注意的是,虽然楠确实是非度量,它的类型是数)。这些特殊的计算包括:



1)0 0。

2)无穷大/无穷大。

3)。负根。

4)。对非数值字符串执行数字转换操作。



无穷大和南,他们是打印结果无限和非数,也是全局变量名代表Javascript这两个特殊的价值。事实上,在ECMAscript 3,两个全局变量也可以被分配到其他的价值。在ECMAscript 5,这个疯狂的规则进行修正,使两个全局变量是read-only.in除了访问无限变量直接南变量,您也可以通过访问对象的成员变量数用两个特殊值:



1,相当于number.positive_infinity无限。

2。无穷大,相当于number.negative_infinity。

3.nan相当于Number.NaN。



在Javascript中,楠是一个非常有趣的特殊值,它有一个特殊的属性,它不等于任何其他值(包括它自己):



1。对于变量x,确定是否x!x是真的。这个表达式只有当x是楠时才是真的。

2。对变量x,调用全局函数isnan()Javascript来确定是否isnan(x)是真的。用这种方法确定南是不是真的严格,因为4例,表达isnan(x)是真的:



1)x是楠。

2)x是一个字符串,而字符串不是一个数字。

3)x是对象。

4)x是未定义的。



除了isnan(),Javascript有另一个有用的功能:系统的全局变量(),()是正确的,需在以下情况。



1)A是数字,但不是南方或正、负无穷大。

2)A是字符串,但字符串的内容是非楠、非正、负无穷大数。

3)a是空的。

4)a是布尔值。



因为非数字类型为不确定的影响的结果,认为最好是在使用isnan判断参数的类型()或()系统。



实验



复制代码代码如下所示:

测试无限

创建一个number.max_value;

console.log(* 1.1); / /无限

console.log(* 1.1); / /无穷

console.log(1 / 0); / /无限

console.log(1 / 0); / /无穷

测试阳性/阴性0

var b = number.min_value;

console.log(B / 2); / / 0

console.log(B / 2); / / 0

测试中心

console.log(0 / 0); / /南

console.log(无限或无穷大); / /南

console.log(Math.sqrt(1)); / /南

console.log(parseInt(字符串)); / /南

测试无限比较

console.log(无限=号。positive_infinity); / /真的

console.log(无穷=号。negative_infinity); / /真的

测试比较

console.log(南=南); / /假

/ /测试isnan()

console.log(isnan(南)); / /真的

console.log(isnan(42)); / /假

console.log(isnan(字符串)); / /真的

console.log(isnan({ }) / /真实);

console.log(isnan(定义) / /真实);

console.log(isnan(空)); / /假

/ /测试系统()

console.log(需(42)); / /真的

console.log(有限(无限)); / /假

console.log(需(南) / /假);

console.log(有限(29)); / /真的

console.log(有限(字符串)); / /假

console.log(有限(空)); / /真的

console.log(需(定义)); / /假

console.log(有限(真正的) / /真实);

console.log(需(假) / /真实);