Js中的算术表达式

阅读: 评论:0

Js中的算术表达式

Js中的算术表达式

基本的算术表达式有加、减、乘、除、求余表达式,组成这五种基本算术表达式的有加、减、乘、除、求余五种基本的运算符,在这五种基本的运算符种又有加运算符有点特殊,因为加(+)运算符除了加操作外,还有连接字符串的操作,比较特殊,剩下的四种运算符就是比较单一了,也比较好理解,就是在必要的时候将操作数转换成数字,然后做求差、积、商、余数的运算。

所有的无法转换为数字的操作数都被转换为NaN值。如果操作数是NaN,或者转换结果为NaN,那么算术运算的结果也是NaN。

运算符/,求商运算,用第二个操作数来除第一个操作数。排除一些特殊情况如操作数有NaN或转换后为NaN的,结果都为一个Number值。如果我们有使用过其他的强类型的编程语言,数值型区分整型和浮点型数值,除运算结果也为相应类型的值,即用一个整型值除另外一个整型值时,结果也为一个整型值,如果用一个浮点型数值除另外一个浮点型数值时,结果也为浮点型。但是javascritp是一种弱类型的编程语言,在这种语言种,数值型数据都统一为Number类型,没有细分整型和浮点型,所有的数值都为浮点型的,相应的,运算结果也都是浮点型的。如5/2的结果为2.5,4/2的结果为2。

除数为0的运算结果为正无穷大或负的无穷大,0/0的结果为NaN。所有的这些运算都不会报错。

求余运算(%)的运算是求第一个操作数对第二个操作数的模,即第一个操作数除以第二个操作数的余数。结果的符号(正负)和第一个操作数的符号一致。如5%2值为1,-5%2值为-1。

求余运算通常用于整型数值,但也用于浮点型数值,如4.3%2.1值为0.1。

“+”运算符

"+"运算符可以对两个数字进行求和运算,也可以对两个字符串做连接操作。

1+2=》2
"1"+"2"=》"12"

当两个操作数的数据类型一致的时候,运算结果的值非常好确认,两个操作数都是字符串,则运算结果就是两个操作数的连接操作,如果两个操作数都是数字,那么就是对两个操作数的求和操作。然而对于操作数的类型不一致的时候,则需要进行一些对操作数的数据类型转换,且操作行为依赖于类型转换的结果。加号的转换规则优先考虑字符串连接,具体的转换规则如下:

1.如果其中一个操作数为字符串或者为转换为字符串的对象,那么另外一个操作数将会转换为字符串,“+”将进行字符串的连接操作;

2.如果两个操作数都不是类字符串类型的,那么“+”将进行加法求和操作。

从技术上讲,加法操作符的行为表现为:

  1. 如果其中一个操作数是对象,则对象会遵循对象到原始值的转换规则转换为原始类型值:日期对象则通过toString()方法进行转换,其他对象则通过valueOf()执行转换(如果使用valueOf()方法可以返回一个原始类型值的话)。由于很多的对象并不具备可用的valueOf()方法,那么就会通过toString()方法进行转换;
  2. 在进行了对象到原始类型值的转换后,如果其中一个操作数为字符串,则另外一个操作数也会转换为字符串,然后进行字符串的连接操作;
  3. 否则,两个操作都将转换为数字(结果可能为NaN),然后进行加法操作。

最后还有一点需要注意的,就是当表达式有多个数字或字符串一起使用时,需要注意加法的结合性以及括号对运算顺序的影响。

alert(1+2+"Hello");  //3Hello
alert(1+(2+"hello")); //12hello


本文发布于:2024-02-02 08:48:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683493042678.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:算术   表达式   Js
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23