if分支语句
-
语法:if(判断条件){
当小括号内的条件为真,然后执行大括号里面的内容
}
算数运算符
+ - * / %
赋值运算符
* = += -= *= /= %=
var a = 100
a += 50 // a = a + 50
console.log(a) // a == 150
a -= 50 // a = a - 50 ---> a == 50
console.log(a)
a *= 5 // a = a * 5 ---> a == 500
console.log(a)
a /= 20 // a = a / 20 ---> a == 5
console.log(a)
a %= 20 // a = a % 20 ---> a == 0
console.log(a)
比较运算符
> < >= <=
==(等于)---只会对比数据的值 ===(全等)---会对比数据的值 和数据类型 !=(不等于) !==(不全等)
- 得到的不是常规的数学的数字,是一个布尔值
逻辑运算符
&&(与/且) ||(或) !(非/取反)
- &&特点:
- 前一个为真,返回后一个;
- 前一个为假,返回前一个;
- ||特点:
- 前一个为真,返回前一个
- 前一个为假,返回后一个
- ! 特点:
- 取反,将变量值得布尔值,做一个取反的操作
自增自减运算符
-
语法:
-
++变量
-
变量++
-
--变量
-
变量--
-
作用:将自身+1或者-1
-
区别:
-
符号在前,先运算自减或者自加,然后参与周围表达式
-
符号在后,先参与周围表达式运算,然后在自减或者自加
-
var a = 100 a++ // 101 ++a // 102 console.log(a)var a = 100 a-- // a == 99 --a // a == 98 console.log(a)
if( ){ }else{ }
/**
* 根据 成绩 (0~100)
* 打印不同的结果
* 0~60 ---> 不及格
* 61~80 ---> 要努力
* 81~100 ---> 优秀
*/
var a = -100
/**
* 优秀: a >= 81 a <= 100
*/
if (a >= 81 && a <= 100) {
console.log('优秀')
} else if (a >= 61 && a <= 80) {
console.log('要努力')
} else if (a >= 0 && a <= 60) {
console.log('不及格')
} else {
console.log('不符合上述区间的数字时, 执行')
}
练习
// 1. 判断一个正整数是不是偶数
/**
* 一个数字 如果和 2 取余 为 0
*/
var a = 11
if (a % 2 == 0) {
console.log(a, '是偶数')
console.log(a + '是偶数')
} else {
console.log(a + '是奇数')
}
// 2. 判断一个年份是平年还是闰年
// 条件1: 四年一润, 百年不润;
// 条件2: 四百年补一润
var year = 2022
// 1.
// year % 4 == 0 && year % 100 != 0
// 2.
// year % 400 == 0
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
console.log(year, '年 是闰年')
} else {
console.log(year, '年 是平年')
}
switch
-
switch的判断使用的是全等
-
语法:
switch(判断条件){
case 条件1:
满足条件1执行的代码
break;
case条件2:
满足条件2执行的代码
break;
.....
case条件n:
满足条件n执行的代码
break;
default:
上述条件都不满足时执行的代码
}
var a = 100 switch (a) { case 10: console.log('a为10') break; case 20: console.log('a为20') break; case 100: console.log('a为100') break; default: console.log('不满足上述所有 case 时, 执行我') }
switch语句的穿透现象
- 寻找到满足条件后,如果没有break会继续往下执行,直到发现break或者结束
-
// 根据 月份 在控制台打印当月的天数(2月假设有28天) var m = 9 var day; switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31 break; case 4: case 6: case 9: case 11: day = 30 break; case 2: day = 28 break; } console.log(m, '月有', day, '天')
三元表达式
- 语法:条件?为真的时候执行的一行代码 :为假的时候执行的一行代码
-
var a = 100 a == 1000? console.log('100') : console.log('1000')