ECMAScript运算符之《四则运算符 – 乘性运算符》

ECMAScript 乘性运算符分一下几个:

1、乘法运算符,由星号(*)表示,用于两数相乘

2、除法运算符,由斜杠(/)表示,用第二个运算数除第一个运算数

3、取模运算符,由百分号(%)表示

注意:乘性运算符还具有一些自动转换功能

PS:乘性运算符 + 加性运算符 = 四则运算操作符(这里单独分离出来说了)。

也就是说加减乘除为四则运算符,取模是属于除法(除法(余数)运算符)里面。

一、乘法运算符(*)表示

乘法还有一些特殊行为:

1、如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity

2、如果某个运算数是 NaN,结果为 NaN

3、Infinity 乘以 0,结果为 NaN

4、Infinity 乘以 0 以外的任何数字,结果为 Infinity 或 -Infinity

5、如果其中一个为不是数字的字符串得出NaN

6、如果其中一个为数字的字符串,程序自动转换为数字类型计算

老办法来点例子乐呵乐呵:

一、如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity

var num = 2*(Math.pow(99,999));

console.log(num); //Infinity

二、如果某个运算数是 NaN,结果为 NaN

console.log(NaN*6); //NaN

三、Infinity 乘以 0,结果为 NaNconsole.log(Infinity*0); //NaN

四、Infinity 乘以 0 以外的任何数字(包括Infinity),结果为 Infinity 或 -Infinity

console.log(Infinity*0.2);

console.log(-Infinity*0.2);

console.log(-Infinity*Infinity);

五、如果其中一个为不是数字的字符串得出NaN

console.log("abc"*5);//NaN

六、如果其中一个为数字的字符串,程序自动转换为数字类型计算

console.log("12"*2);//24

二、除法运算符,(/)表示

与乘法运算符相似,在处理特殊值时,除法运算符也有一些特殊行为:

1、如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity

2、如果某个运算数是 NaN,结果为 NaN

3、Infinity 被 Infinity 除,结果为 NaN

4、Infinity 被任何数字除,结果为 Infinity

5、0 除一个任何非无穷大的数字,结果为 NaN

6、Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity

7、如果其中一个为不是数字的字符串得出NaN

8、如果其中一个为数字的字符串,程序自动转换为数字类型计算

来点该死的例子:

一、如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity

console.log((Math.pow(99,999))/1)

二、如果某个运算数是 NaN,结果为 NaN

console.log(NaN/6); //NaN

function(){ //外汇跟单

三、Infinity 被 Infinity 除,结果为 NaN

console.log(Infinity/Infinity); //NaN

四、Infinity 被任何数字除,结果为 Infinity

console.log(Infinity/3); //Infinity

五、0除一个任何非无穷大的数字,结果为 Infinity(W3C说是NaN但是实际上是Infinity)

console.log(123/0); //Infinity

六、Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity(测试发现被0除以也是Infinity)

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

console.log(-Infinity/0); //-Infinity

console.log(-Infinity/2); //-Infinity

七、如果其中一个为不是数字的字符串得出NaN

console.log("asd"/2); //NaN

八、如果其中一个为数字的字符串,程序自动转换为数字类型计算

console.log("12"/2); //6

三、取模运算符,由百分号(%)表示

与其他乘性运算符相似,对于特殊值,取模运算符也有特殊的行为:

1、如果被除数是 Infinity,或除数是 0,结果为 NaN

2、Infinity 被 Infinity 除,结果为 NaN

3、如果除数是无穷大的数,结果为被除数

4、如果被除数为 0,结果为 0

5、如果其中一个为不是数字的字符串得出NaN

6、如果其中一个为数字的字符串,程序自动转换为数字类型计算

一、如果被除数是 Infinity,或除数是 0,结果为 NaN

console.log(Infinity%10);//NaN

console.log(28%0);//NaN

二、Infinity 被 Infinity 除,结果为 NaN

console.log(Infinity%Infinity);//NaN

三、如果除数是无穷大的数,结果为被除数

console.log(10%Infinity);//10

四、如果被除数为 0,结果为 0

console.log(0%Infinity);//0

console.log(0%10);//0

五、如果其中一个为不是数字的字符串得出NaN

console.log("asd"%2);//NaN

六、如果其中一个为数字的字符串,程序自动转换为数字类型计算

console.log("123"%5);//3

posted @ 2019-10-09 10:30  阿丘不秋  阅读(379)  评论(0编辑  收藏  举报