JavaScript运算符允许你改变一个变量的值。你已经熟悉了用于赋值给变量的=运算符。JavaScript提供了几种不同的运算符,它们可以划分为两大类:算数运算符和赋值运算符。
1、算数运算符
你可以使用算数运算符来执行变量和直接值之间的操作。具体可见下表:
JavaScript的算数运算符,其结果基于y = 4最初值
运 算 符 | 说 明 | 示 例 | x 结果 |
+ | 加 | x=y+5 x=y+"5" x="Four"+y+"4" | 9 "45" "Four44" |
- | 减 | x=y-2 | 2 |
++ | 递增 | x=y++ x=++y | 4 5 |
-- | 递减 | x=y-- x=--y | 4 3 |
* | 乘 | x=y*4 | 16 |
/ | 除 | x=10/y | 2.5 |
% | 模(除法的取余) | x=y%3 | 1 |
注意:你也可以使用+运算符来连接字符串或将字符串和数值加在一起。这可以快速连接字符串,以及将数值数据添加到输出字符串。
2、赋值运算符
你可以使用赋值运算符把值赋给一个变量。除了=运算符,还有几种不同的形式,可以让你在给一个值赋值时操作数据。
JavaScript的赋值运算符,其结果基于x=10的初始值
运 算 符 | 示 例 | 相当于算数运算符 | x 结果 |
= | x=5 | x=5 | 5 |
+= | x+=5 | x=x+5 | 15 |
-= | x-=5 | x=x-5 | 5 |
*= | x*=5 | x=x*5 | 50 |
/= | x/=5 | x=x/5 | 2 |
%= | x%=5 | x=x%5 | 0 |
3、运用比较和条件运算符
使用条件语句是一种把逻辑应用到你的应用程序的方法,例如,某些代码只有在正确的条件下才能执行。你可以通过对变量的值应用比较逻辑来做到这一点。以下各节描述了可在
JavaScript中使用的比较,以及如何将它们应用在条件语句中。
比较运算符
比较运算符计算两部分数据,如果计算记过是正确的,则返回true;如果计算结果是不正确的,则返回false。比较运算符对运算符左边的值和右边的值执行比较。
JavaScript的比较运算,其结果基于x=10的初始值
运 算 符 | 说 明 | 示 例 | 结 果 |
== | 等于(只是值) | x==8 x==10 | false true |
=== | 值和类型都相等 | x===10 x==="10" | true false |
!= | 不等于 | x!=5 | true |
!== | 值和类型都不相等 | x!=="10" x!==10 | true false |
> | 大于 | x>5 | true |
>= | 大于或等于 | x>=10 | true |
< | 小于 | x<5 | false |
<= | 小于或等于 | x<=10 | true |
你可以使用逻辑运算符和标准圆括弧号链接多重比较。下表显示了逻辑运算符的列表,以及如何使用它们将比较链接在一起。
JavaScript的比较运算,其结果基于x=10,y=5的初始值
运 算 符 | 说 明 | 示 例 | 结 果 |
&& | 并且 | (x==10 && y==5) (x==10 && y>x) | true false |
|| | 或者 | (x>=10 || y>x) (x<10 && y>x) | true false |
! | 否 | !(x==y) !(x>y) | true false |
混合 | (x>=10 && y<x || x==y) ((x<y || x>=10) && y>=5) (!(x==y) && y>=10) | ture true false |
使用if语句
if语句可以让你基于一个比较计算来分离代码执行。下面的代码行显示在()中的条件运算符和如果条件计算结果为true要执行在{}中的代码:
if(x==5){
do_something();
}
除了只在if语句块中执行的代码外,你还可以指定一个else块,它仅当条件是false时才执行。例如:
if(x==5){
do_something;
}else{
do_something_else;
}
你也可以将if语句链接在一起。要做到这一点,添加一个条件语句以及一个else语句,如下例所示:
if(x<5){
do_something;
}else if(x<10){
do_something_else;
}else{
do_nothing;
}
实现switch语句
另一种类型的条件逻辑是switch语句。switch语句使你可以计算一个表达式,然后基于该值,执行代码的众多不同的部分之一。
switch语句的语法是:
switch(表达式){
case value1:
<要执行的代码>
break;
case value2:
<要执行的代码>
break;
default:
<如果不是value1也不是value2要执行的代码>
}
其执行的原理是:switch语句完全计算表达式,并得到一个值。该值可以是字符串、数值、布尔值、甚至是一个对象。然后再使用case语句指定的每个值与switch表达式做比较。如果值匹配,则执行case语句中的代码。如果没有匹配的值,那么执行default(默认)的代码。
注意:
通常每个case语句都在最后包括break命令,表示从switch语句中断。如果没有找到break,那么代码继续执行下一个case语句。