您的位置:首页 > Web前端 > JavaScript

Javascript运算符

2016-03-02 20:11 399 查看
基本的算数运算符是*(乘法)、/(除法)、%(除法)、%(求余)、+(加法)和-(减法)

1、除法运算(/):在js中所有的数字都是浮点型,所以除法运算/的结果也是浮点型,例如5/2的结果是2.5而不是2,这是js和其他区分整型和浮点型数字编程语言的不同。

另外要注意的是:


5/0 //结果为正无穷大

-5/0 //结果为负无穷大

0/0 //结果为NaN


所有这些运算的结果都不会出错。

2、求余运算(%):运算符(%)计算第一个操作数对第二个操作数的模(即第一个操作数除以第二个操作数的余数),结果的符号和第一个操作数(即被除数)的符号保持一致

例如:


5%2=1

-5%2=-1


求余运算的操作数通常都是整数,但也适用于浮点数,例如:6.5%2=0.5

3、“+”运算符:二元加法运算符“+”可以对两个数字做加法,也可以做字符串连接操作:


1+2 //3

“he”+“llo” //”hello”

“1”+“2” //“12”


①当两个操作数都为数字时,“+”结果还是数字

②当两个操作数都为字符串时,“+”结果还是字符串

③其他情况则需要进行类型转换,运算符的行为依赖于类型转换的结果。加号的转换规则优先考虑字符串的类型转换,如果其中一个操作数为字符串或者转换为字符串的对象,则另外一个操作数也会转换为字符串,加法将进行字符串的连接操作。如果两个操作数都不是类字符串(string-like),则进行算术加法运算。

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

①如果其中一个操作数是对象,则对象会遵循对象到原始值的转换规则转换为原始类值(js类型转换:/article/5476626.html):日期对象通过toString()方法执行转换,其他对象则通过valueOf()方法执行转换(如果valueOf()方法返回一个原始值的话)。由于多数对象都不具备可用的valueOf()方法,因此它们会通过toString()方法来执行转换。

②在进行了对象到原始值的转换后,如果其中一个操作数是字符串的话,另一个操作数也会转换为字符串,然后进行字符串连接。

③否则,两个操作数都将转换为数字(或者NaN),然后进行加法操作。

例如:


1+2 //3:加法

“1”+“2” //“12”:字符串连接

“1”+2 //“12”:数字转换为字符串后进行字符串连接

1+{} //“1[object object]”: 对象转换为字符串后进行字符串连接

true+true //2:布尔值转换为数字后做加法

2+null //2:null转换为0后做加法

2+undefined //NaN:undefined转换为NaN后做加法

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: