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

浏览: 1,935次 日期:2018年06月15日 8:43:20 作者:青格勒

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

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

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

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

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

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

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

 

学这个之前咱们还得学一下数据类型中的Number以便了解一些特殊情况:
自己看一下《ECMAScript的数据类型有哪些?》这个文章的Number吧。

 

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

乘法还有一些特殊行为:

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,结果为 NaN

console.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

 

三、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

 

文章链接:http://cenggel.com/js/97.html

本文章由:青格勒编辑,转载请带上文章链接。w

借鉴网址:【http://www.w3school.com.cn】

点击任意位置关闭窗口,感谢您的支持。


打赏规则 - 为了避免对于打赏模式产生误解,说明一下几点内容:

  • 1.打赏纯粹自愿,金额不限,别太多,1块就行;
  • 2.打赏不能作为解答疑问的理由;
  • 3.打赏不能帮你做毕业设计或论文;
  • 4.打赏不能帮你做工作中的项目;
  • 5.打赏就是这不能那不能,只是单纯打赏而已。
  • 5.最后谢谢支持。
关闭
相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注