【语法基础】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 常见算数运算符的缩写