【语法基础】Javas cript运算符
在Javas cript中,常见的运算符有算数运算符、比较运算符和逻辑运算符。
表2-2 Javas cript常见运算符
算数运算符说明举例结果
=赋值运算符。将运算符右边变量的值赋给左边变量。x = 5 ;-
+加号。将两个数据相加。y=1+2;y=3
-减号。将两个数据相减。z = x-y;z=2
*乘号。将两个数据相乘。a=x*y;a=15
/除号。将两个数据相除。b=x/z;b=2.5
%求余运算。求两个数据相除的余数。c=x%z;c=1
++自加。将操作数加1。m=++x;m=6 x=6
--自减。将操作数减1。n=--x;n=5 x=5
比较运算符说明举例结果
==相等。若两数据相等,返回 true,否则返回 false。boolean1=(x==5);boolean1=true
!=不相等。若两数据不相等,返回 true,否则返回 false。boolean2=(x!=5);boolean2=false;
>大于。若左边数据大于右边数据,返回 true,否则返回 false。boolean4=(x>y);boolean4=true
<小于。若左边数据小于右边数据,则返回布尔值true,否则返回false。boolean5=(xboolean5=false);
>=大于等于。若左边数据大于或等于右边数据,返回 true,否则返回 false。boolean6=(x>=y);boolean6=true
<=小于等于。若左边数据小于或等于右边数据,返回 true,否则返回 false。boolean7=(x<=y);boolean7=false
逻辑运算符说明举例结果
&&逻辑与。如果符号两边的操作数为真,返回true,否则返回false。boolean_a=true&&false;boolean_a=false
||逻辑或。如果符号两边的操作数为假,返回false,否则返回true。boolean_b=true||false;boolean_b=true
!逻辑非。如果符号右边的操作数为真,返回false,否则返回true。boolean_c=!true;boolean_c=false
" + "号也可以用来连接字符串
“+”号不但可以将两个数据相加,还可以用来连接字符串。
例如:
1
2
3
4var name=" Tom ";
var age=22;
var person="My name is "+name+" ! I'm "+age+" ! ";
alert(person);
保存并运行代码,显示 My name is Tom ! I'm 22 !
上面的例子中,有字符串,也有数值。当字符串和数值进行混合运算时,Javas cript 会自动判断“ + ”号的作用,是相加运算,还是连接字符串。如果是连接字符串,数值也将被转换为字符串。
对自加(++)和自减(--)的探讨
值得注意的是,自加(++)和自减(--)运算符放置在操作数的前面和后面含义不同。放在操作数前面(前自加 / 前自减),先对操作数进行加1(减1),再进行运算;放在操作数后面(后自加 / 后自减),先进行运算,再对操作数加1(减1)。
例如:
1
2
3
4
5
6
7
8
9
10
11
var x=5;
var y=++x; // 前自加,赋值后 x 的值为 6
var z=x++; // 后自加,赋值后 x 的值为 7
var m=--x // 前自减,赋值后 x 的值为 6
var n=x-- // 后自减,赋值后 x 的值为 5
显示 y 的值
显示 z 的值
显示m 的值
显示 n 的值
保存并运行代码,依次点击四段文本,都显示 6 。
分析:
?
对于 y ,x (x=5)加 1 后的值变为 6 ,再将 x 的值传递给 y 。
?
?
对于 z ,先将 x 的值(x=6)传递给 z ,再对 x 加 1 ,值变为 7。
?
?
对于 m ,x (x=7)减 1 后的值为 6,再将 x 的值传递给 m 。
?
?
对于 n ,先将 x 的值(x=6)传递给 n ,再对 x 减 1,值变为 5 。
?
算数运算符的缩写
为了操作方便,减少代码的书写,Javas cript 还支持常见数学运算符的缩写。
运算符例子等价于
+=x+=yx=x+y
-=x-=yx=x-y
*=x*=yx=x*y
/=x/=yx=x/y
%=x%=yx=x%y
表2-3 常见算数运算符的缩写