目录
优先级:
一元运算符:
比较运算符(全等,不全等):
二等(==)和全等(===)的区别:
注意:开发比较是否相等时,建议用全等(===)
NaN比较问题:
小数比较问题:
比较运算符也会发生隐式转换:
逻辑运算符:
短路:
注意点:
在js中被认为为false的数据只有5值(逻辑判断时,效果都为false):
- false
- undefined
- null
- 0
- ''或""
而例如数字:1,10,222 字符串:'wsf’,'伍绍恒'等都被认为为true。
逻辑||处理数据的应用场景(没有给参,默认为0):
运算符优先级:
练习:
表达式和语句的区别:
控制语句:
分支语句:
- 单分支
- 多分支
三元运算符:
switch语句:
注意:switch的匹配使用到了全等(===),要求值和数据类型都相等,才为true
JS的断点调试
whilte循环
特别的js在也有continue和break两个循环控制语句,其作用同java一样。
综合案例:
//ATM取款机
let flag = true
let money = 100000
while(flag){
let key = +prompt(`请你选择您的操作:
1--取款
2--存款
3--查看余额
4--退出`)
switch(key){
case 1 : {
//prompt弹窗点击取消键,返回的值为NULL
let getMoney = prompt("取多少钱?")
// if(getMoney===null){//防止用户点击取消,引发的错误
// alert("输入输入有误!")
// break
// }
//或者默认点击取消,取款为0
getMoney = getMoney || 0
getMoney = parseInt(getMoney)
money -= getMoney
alert("取款成功!")
break
}
case 2 : {
let getMoney = +prompt("存多少钱?")
// if(getMoney===null){
// alert("输入输入有误!")
// break
// }
//prompt弹窗点击取消键,返回的值为NULL
money += getMoney
alert("存款成功!")
break
}
case 3 : {
alert(`所剩余额为:${money}元`)
break
}
case 4 : {
flag = false
break
}
default :{
alert("操作有误!请重试")
}
}
}