JavaScript 艺术之美(二)运算符

运算符是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;
  • ++aa++区别:
    ++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 运算符用于删除一个对象。