JS运算符与流程控制
运算符
算术运算符
运算符 | 描述 | 例子 | x 运算结果 |
---|---|---|---|
+ | 加法 | x=5+2 | 7 |
- | 减法 | x=5-2 | 3 |
* | 乘法 | x=5*2 | 10 |
/ | 除法 | x=5/2 | 2.5 |
% | 取余 | x=5%2 | 1 |
++ | 在后是先使用后自增1 在前是先自增1在使用 |
x=5++ x=++5 |
5 6 |
-- | 在后是先使用后自减1 在前是先自减1在使用 |
x=5-- x=--5 |
5 4 |
赋值运算符
设x=10,y=4;
运算符 | 例子 | 等同于 | 运算结果 |
---|---|---|---|
= | x=y | x=4 | |
+= | x+=y | x=x+y | x=14 |
-= | x-=y | x=x-y | x=6 |
*= | x*=y | x=x*y | x=40 |
/= | x/=y | x=x/y | x=2.5 |
%= | x%=y | x=x%y | x=2 |
比较运算符
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于(类型可以不相等) | 5==8 5=='5' |
false true |
=== | 绝对等于(值和类型均相等) | 5==="5" 5===5 |
false true |
!= | 不等于 | 5!=8 5!='5' |
true false |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | 5!=="5" 5!==5 |
true false |
> | 大于 | 5>8 | false |
< | 小于 | 5<8 | true |
>= | 大于或等于 | 5>=8 | false |
<= | 小于或等于 | 5<=8 | true |
逻辑运算符
运算符 | 描述 | 例子 |
---|---|---|
&& | 左右两边都要成立,否则返回false | (5 < 10 && 5 > 1) 为 true |
|| | 左右两边有一边成立就返回true,都不成立返回false | (5==5 || 6==5) 为 true |
! | 取反 | !(5==5) 为 false |
流程控制
if语句
1.单if分支
/*
if(条件){
条件成立执行的分支代码块
}
*/
var a = 5
if(a < 6){
console.log('小于6')
}
2.if...else分支
/*
if(条件){
条件成立执行的分支代码块
}else{
条件不成立执行的分支代码块
}
*/
var a = 5
if(a < 6){
console.log('小于6')
}else{
console.log('大于等于6')
}
3.if...else if...else分支
/*
if(条件1){
条件1成立执行的分支代码块
}else if(条件2){
条件1不成立条件2成立执行的分支代码块
}else{
条件1和2都不成立执行的分支代码块
}
*/
var a = 5
if(a < 6){
console.log('小于6')
}else if(a == 6){
console.log('等于6')
}else{
console.log('比6大')
}
switch语法
var n = 1;
switch (n) {
case 0:
console.log("干饭");
break; // 如果不加break会基于当前位置一直往下运行
case 1:
console.log("睡觉");
break;
case 2:
console.log("玩耍");
break;
default: // 没有对应条件统一执行default子代码
console.log("无所事事!!!");
}
while循环
/*
while(循环条件){
循环体代码
}
*/
var a = 5
while(a < 10) {
console.log(a);
a++;
}
for循环
/*
for(初始值;循环条件;每次循环之后的操作){
循环体代码
}
*/
for(var a = 5; a < 10; a++) {
console.log(a);
}
// 输出对象里的所有元素
var a = [1, 2, 3, 4, 5]
for(i in a) {
console.log(i);
}
三元运算
语法结构:
变量名 = (条件) ? 条件成立时的值 : 条件不成立时的值
例子:
var a = 5
var b = a > 5 ? 10 : 0
// 如果a大于5,则b等于10,a小于5,则b等于0