hello world 又来本周复习了。上周复习了基础js的变量和概念的话,今天就复习一下运算符。
包括赋值运算符,一元运算符,比较运算符,逻辑运算符,运算符优先级。
1、赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个容器
eg:我们让一个变量加 1,直接是+=的赋值运算符,+= 出现是为了简化代码,
一元运算符,使用场景:经常用于计数来使用。前置自增:++n,后置自增n++,先使用再自加(记忆口诀:++在后 后加)
比较运算符:
> : 左边是否大于右边
<: 左边是否小于右边
>=: 左边是否大于或等于右边
<=: 左边是否小于或等于右边
==: 左右两边值是否相等
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
比较结果为boolean类型,即只会得到 true 或 false
NaN不等于任何值,包括它本身
涉及到"NaN“ 都是false
尽量不要比较小数,因为小数有精度问题
不同类型之间比较会发生隐式转换
最终把数据隐式转换转成number类型再比较
逻辑运算符
与(&&) 或(||) 非(!) 判断一个变量 num 是否大于5且小于10怎么写
num > 5 && num < 10
判断一个数是4的倍数,且不是100的倍数
<script>
// 1. 用户输入
let num = +prompt('请输入一个数字:')
// 2. 弹出结果
alert(num % 4 === 0 && num % 100 !== 0)
</script>
一元运算符里面的逻辑非优先级很高
逻辑与比逻辑或优先级高
. if语句
if语句有三种使用:单分支、双分支、多分支
括号内的条件为true时,进入大括号里执行代码
小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
// 1. 用户输入
let score = +prompt('请输入成绩:')
// 2. 判断输出
if (score >= 90) {
alert('成绩优秀,宝贝,你是我的骄傲')
} else if (score >= 70) {
alert('成绩良好,宝贝,你要加油哦~~')
} else if (score >= 60) {
alert('成绩及格,宝贝,你很危险~')
} else {
alert('成绩不及格,宝贝,我不想和你说话,我只想用鞭子和你说话~')
}
</script>
三元表达式 ? 与 : 配合使用。eg:用户补零案例
// let age = 18
// age = age + 1
// age++
// 1. 用户输入
let num = prompt('请您输入一个数字:')
// 2. 判断输出- 小于10才补0
// num = num < 10 ? 0 + num : num
num = num >= 10 ? num : 0 + num
alert(num)
</script>
switch case语句
一般用于等值判断,不适合于区间判断
- switch case一般需要配合break关键字使用 没有break会造成case穿透。
- eg:
<script>
// 1.用户输入 2个数字 + 操作符号 + - * /
let num1 = +prompt('请您输入第一个数字:')
let num2 = +prompt('请您输入第二个数字:')
let sp = prompt('请您输入 + - * / 其中一个:')
// 2. 判断输出
switch (sp) {
case '+':
alert(`两个数的加法操作是${num1 + num2}`)
break
case '-':
alert(`两个数的减法操作是${num1 - num2}`)
break
case '*':
alert(`两个数的乘法操作是${num1 * num2}`)
break
case '/':
alert(`两个数的除法操作是${num1 / num2}`)
break
default:
alert(`你干啥咧,请输入+-*/`)
}
</script>
ok本周复习就到这里啦 继续学习吧,不要懈怠偷懒w(゚Д゚)w