运算符是JavaScript为完成各种运算而定义的一些符号。
一、算术运算符
算术运算符用于执行变量与/或值之间的算术运算:
+(加)、-(减)、*(乘)、/(除)、%(取模,求余数 (保留整数))、++(累加)、--(递减)、-(取负)
- 加法案列:1+2;
- 多种运算组合:1+2*3;
- 用括号把不同运算分隔开:(1+2)*3,1+(2*3);
- 变量可以包含运算:var total = 1+(2*3);
- 可以对变量进行运算:
var x = 80;
var y = (x - 20)/3.2;
- 累加和递减:
x=x+1;
等价于x+=1;
等价于++x;
y=y-1;
等价于y-=1;
等价于--y;
++a
和a++
区别:
++a
中,变量 a的值先增加 ,然后 再计算整个表达式的值 ,因此 增加后的值被用在了表达式的计算中 ;
a++
中,变量 a的值在表达式计算后才增加 ,因此 a在增加前所存储的值 被用在了表达式的计算中。- 加号(+)既可以用于数值,也可以用于字符串:
var message="I am feeling" + "happy";
像这样把多个字符串首尾相连在一起的操作叫做“拼接”,可以通过变量来完成:
var mood = "happy";
var massage = "I am feeling" + mood;
把数值和字符串拼接在一起,数值将被自动转换成字符串:
var year = 2017;
var massage = "The year is" + year;
把两个数值拼接在一起,结果是两个数值的算术和:
alert("20"+17); //结果为2017
alert(20+17); //结果为37
+=
可以一次完成加法和赋值(或拼接和赋值)操作:
var year = 2017;
var massage = "The year is";
massage += year;
二、逻辑运算符
逻辑运算符的操作对象是布尔值。
&&
(逻辑与)、||
(逻辑或)、!
(逻辑非)
&&
(逻辑与):只有在它的两个或多个操作数都是ture时才会返回ture。
||
(逻辑或):只要它的操作数中有一个是ture,则返回ture。
!
(逻辑非):只能作用于单个逻辑操作数,结果是把逻辑操作数所返回的布尔值取反,可用该操作符把整个条件语句的结果颠倒过来。
三、比较运算符
<
(小于)、<=
(小于等于)、>
(大于)、>=
(大于等于)、==
(等于)、!=
(不等于)、===
(严格等于)、!==
(不严格等于)
“等于”只要求值相等,“严格等于”要求值相等且类型相同,不等于与严格不等于同理。
四、位运算符
&(位与)、|(位或)、^(位异或)、~(按位取反)、<<(左移)、>>(右移)、>>>(填0右移)
详细介绍:http://www.w3school.com.cn/js/pro_js_operators_bitwise.asp
五、赋值运算符
简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。
复合赋值运算是由乘性运算符、加性运算符或位移运算符加等号(=)实现。
var iNum = 10;
iNum = iNum + 10;
可改写为:
var iNum = 10;
iNum += 10;
每种主要的算术运算以及其他几个运算都有复合赋值运算符:
乘法/赋值(*=)
除法/赋值(/=)
取模/赋值(%=)
加法/赋值(+=)
减法/赋值(-=)
左移/赋值(<<=)
有符号右移/赋值(>>=)
无符号右移/赋值(>>>=)
六、条件运算符
variable = boolean_expression ? true_value : false_value;
该表达式主要是根据 boolean_expression 的计算结果有条件地为变量赋值。如果 Boolean_expression 为 true,就把 true_value 赋给变量;如果它是 false,就把 false_value 赋给变量。
例如:
var iMax = (iNum1 > iNum2) ? iNum1 : iNum2;
在这里例子中,iMax 将被赋予数字中的最大值。表达式声明如果 iNum1 大于 iNum2,则把 iNum1 赋予 iMax。但如果表达式为 false(即 iNum2 大于或等于 iNum1),则把 iNum2 赋予 iMax。
七、字符串连接运算符
+、+=
:连接的项目中可以包括字符串、常量、变量,只要项目中有一个是字符串就会按字符串进行连接。
var message="I am feeling" + "happy";
像这样把多个字符串首尾相连在一起的操作叫做“拼接”,可以通过变量来完成:
var mood = "happy";
var massage = "I am feeling" + mood;
把数值和字符串拼接在一起,数值将被自动转换成字符串:
var year = 2017;
var massage = "The year is" + year;
把两个数值拼接在一起,结果是两个数值的算术和:
alert("20"+17); //结果为2017
alert(20+17); //结果为37
+=
可以一次完成加法和赋值(或拼接和赋值)操作:
var year = 2017;
var massage = "The year is";
massage += year;
八、new 运算符
new
运算符用于创建一个对象。如new Array()
表示生成一个数组对象。
九、delete 运算符
delete
运算符用于删除一个对象。