一、运算符
赋值运算符
对变量进行赋值,符号:=
+=,-=,*=,/=
javascript
<script>
let num = 1
num = num + 1
//num += 1
console.log(num);
</script>
一元运算符
根据所需表达式的个数,分为一元、二元、三元运算符
javascript
<script>
//二元运算符
let num = 10 + 20
//一元运算符
//正负号
//自增:++,自减:--
let num1 = 1
//前置自增
++num1
console.log(num1);
//后置自增,num1++
</script>
区别:前置自增,后置自增单独使用没有区别,如果参与运算就有区别:前置自增:先加在使用,后置自增:先使用在加
javascript
let num = 1
console.log(num++ + ++num +num)//7
比较运算符
< ,>, >=, <=, == ,===, !==,!=
javascript
<script>
console.log(2 == 2)//true
console.log(2 == '2')//true
console.log(2 === 2)//true
//===全等,要判断值和数据类型都一样才行
console.log(2 === '2')//false
console.log(NaN === NaN)//false,NaN不等于任何人,包括它自己
</script>
字符串比较,比较字符对应的ASCll码
尽量不要比较小数,小数有精度问题
比较运算符返回结果是boolean类型
比较运算数据类型会被转换成数字类型(隐式转换)
逻辑运算符
解决多重条件判断
&&(逻辑与,一假则假),||(逻辑或,一真则真),!(逻辑非:取反)
运算符优先级
优先级:小括号>一元运算符(++,--,!,逻辑非优先级高)>算数运算符>关系运算符>相等运算符>逻辑运算符(先&&后||)>赋值运算符>逗号运算符
二、语句
表达式和语句
表达式:可被求值,写在赋值语句右侧,例如:num = 3 + 4
语句:不一定有值,是一段可执行代码,例如:alert()弹出对话框
分支语句
三大流程控制语句:顺序结构,分支结构,循环结构
分支语句:
if语句(单分支,双分支,多分支)
if里面的条件除了' ',所有字符串都是真
三元运算符:条件?满足条件执行的代码:不满足条件执行的代码
switch语句(必须是全等===):找到跟小括号里数据全等的case值,一般用于等值判断
javascript
switch(数据){
case 值1:
代码
break
case 值2:
代码
break
case 值3:
代码
break
......
default:
}
循环语句
断点调试:
浏览器打开调试界面:F12打开开发者工具,点sources,选择代码文件
while循环:
javascript
while(循环条件){
要重复执行的代码(循环体)
}
javascript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//页面输出1-100
let i = 1
while (i <= 100){
document.write(`这个第${i}个数<br>`)
i++
}
//计算1加到100的和
let num = 1
let sum = 0
while (num <= 100){
sum += num
num++
}
document.write(`1加到100的和为${sum}<br>`)
//计算1加到100的偶数和
let num1 = 1
let sum1 = 0
while (num1 <= 100){
if (num1 % 2 === 0){
sum1 += num1
}
num1++
}
document.write(`1加到100的偶数和为${sum1}`)
</script>
</body>
</html>
循环结束:
break:结束本层循环
continue:结束本次循环,继续下一轮循环
javascript
<script>
while (true){
let str = prompt('你爱我吗')
if (str ==='爱'){
break
}
}
</script>
三、综合案例
简易ATM取款机案例
javascript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let totalMoney = 100
while (true) {
let result = +prompt(`
请您选择操作:
1.存钱
2.取钱
3.查看余额
4.退出
`)
if (result === 4) {
break
}
switch (result) {
case 1:
totalMoney += +prompt('请输入存款金额')
break
case 2:
totalMoney -= +prompt('请输入取款款金额')
break
case 3:
alert(`您的银行卡余额为${totalMoney}`)
break
}
}
</script>
</body>
</html>