ECMAScript运算符之《四则运算符 – 乘性运算符》
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.最后谢谢支持。
-
2022-12-11
◆ 怎么用js生成雪花id?
-
2020-02-15
◆ js计算一筐鸡蛋
-
2019-02-27
◆ JS生成随机密码
-
2019-01-20
◆ JQuery拖拽效果
-
2018-12-25
◆ 后端传过来一个JS代码,前端拿到之后执行
-
2018-11-18
◆ JS数组去重 – JSON数组去重
发表评论