diff --git "a/26 \351\255\217\346\226\260\351\235\222/20241028 JavaScript\344\275\234\344\270\232.md" "b/26 \351\255\217\346\226\260\351\235\222/20241028 JavaScript\344\275\234\344\270\232.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2703ddd78995736e51a5f9505f7ba0cc787a2b5b
--- /dev/null
+++ "b/26 \351\255\217\346\226\260\351\235\222/20241028 JavaScript\344\275\234\344\270\232.md"
@@ -0,0 +1,775 @@
+# 笔记
+
+# JavaScript 基础 - 第2天
+
+> 理解什么是流程控制,知道条件控制的种类并掌握其对应的语法规则,具备利用循环编写简易ATM取款机程序能力
+
+- 运算符
+- 语句
+- 综合案例
+
+
+## 运算符
+
+### 算术运算符
+
+数字是用来计算的,比如:乘法 * 、除法 / 、加法 + 、减法 - 等等,所以经常和算术运算符一起。
+
+算术运算符:也叫数学运算符,主要包括加、减、乘、除、取余(求模)等
+
+| 运算符 | 作用 |
+| ------ | ---------------------------------------------------- |
+| + | 求和 |
+| - | 求差 |
+| * | 求积 |
+| / | 求商 |
+| **%** | 取模(取余数),开发中经常用于作为某个数字是否被整除 |
+
+> 注意:在计算失败时,显示的结果是 NaN (not a number)
+
+```javascript
+// 算术运算符
+console.log(1 + 2 * 3 / 2) // 4
+let num = 10
+console.log(num + 10) // 20
+console.log(num + num) // 20
+
+// 1. 取模(取余数) 使用场景: 用来判断某个数是否能够被整除
+console.log(4 % 2) // 0
+console.log(6 % 3) // 0
+console.log(5 % 3) // 2
+console.log(3 % 5) // 3
+
+// 2. 注意事项 : 如果我们计算失败,则返回的结果是 NaN (not a number)
+console.log('你好' - 2)
+console.log('你好' * 2)
+console.log('你好' + 2) // 你好2
+```
+
+### 赋值运算符
+
+赋值运算符:对变量进行赋值的运算符
+
+ = 将等号右边的值赋予给左边, 要求左边必须是一个容器
+
+| 运算符 | 作用 |
+| ------ | -------- |
+| += | 加法赋值 |
+| -= | 减法赋值 |
+| *= | 乘法赋值 |
+| /= | 除法赋值 |
+| %= | 取余赋值 |
+
+```javascript
+
+```
+
+### 自增/自减运算符
+
+| 符号 | 作用 | 说明 |
+| ---- | ---- | -------------------------- |
+| ++ | 自增 | 变量自身的值加1,例如: x++ |
+| -- | 自减 | 变量自身的值减1,例如: x-- |
+
+1. ++在前和++在后在单独使用时二者并没有差别,而且一般开发中我们都是独立使用
+2. ++在后(后缀式)我们会使用更多
+
+> 注意:
+>
+> 1. 只有变量能够使用自增和自减运算符
+> 2. ++、-- 可以在变量前面也可以在变量后面,比如: x++ 或者 ++x
+
+```javascript
+
+```
+
+### 比较运算符
+
+使用场景:比较两个数据大小、是否相等,根据比较结果返回一个布尔值(true / false)
+
+| 运算符 | 作用 |
+| ------ | -------------------------------------- |
+| > | 左边是否大于右边 |
+| < | 左边是否小于右边 |
+| >= | 左边是否大于或等于右边 |
+| <= | 左边是否小于或等于右边 |
+| === | 左右两边是否`类型`和`值`都相等(重点) |
+| == | 左右两边`值`是否相等 |
+| != | 左右值不相等 |
+| !== | 左右两边是否不全等 |
+
+```javascript
+
+```
+
+> 要判断一个值是不是等于 Nan 要用 isNaN()
+
+
+
+### 逻辑运算符
+
+使用场景:可以把多个布尔值放到一起运算,最终返回一个布尔值
+
+| 符号 | 名称 | 日常读法 | 特点 | 口诀 |
+| ---- | ------ | -------- | -------------------------- | -------------- |
+| && | 逻辑与 | 并且 | 符号两边有一个假的结果为假 | 一假则假 |
+| \|\| | 逻辑或 | 或者 | 符号两边有一个真的结果为真 | 一真则真 |
+| ! | 逻辑非 | 取反 | true变false false变true | 真变假,假变真 |
+
+| A | B | A && B | A \|\| B | !A |
+| ----- | ----- | ------ | -------- | ----- |
+| false | false | false | false | true |
+| false | true | false | true | true |
+| true | false | false | true | false |
+| true | true | true | true | false |
+
+```javascript
+
+```
+
+### 运算符优先级
+
+> 逻辑运算符优先级: !> && > ||
+
+
+
+
+
+## 分支语句
+
+分支语句可以根据条件判定真假,来选择性的执行想要的代码
+
+分支语句包含:
+
+1. if分支语句(重点)
+2. 三元运算符
+3. switch语句
+
+#### if 分支语句
+
+语法:
+
+~~~javascript
+if(条件表达式) {
+ // 满足条件要执行的语句
+}
+~~~
+
+小括号内的条件结果是布尔值,为 true 时,进入大括号里执行代码;为false,则不执行大括号里面代码
+
+小括号内的结果若不是布尔类型时,会发生类型转换为布尔值,类似Boolean()
+
+如果大括号只有一个语句,大括号可以省略,但是,俺们不提倡这么做~
+
+~~~javascript
+
+~~~
+
+#### if双分支语句
+
+如果有两个条件的时候,可以使用 if else 双分支语句
+
+~~~javascript
+if (条件表达式){
+ // 满足条件要执行的语句
+} else {
+ // 不满足条件要执行的语句
+}
+~~~
+
+例如:
+
+~~~javascript
+
+~~~
+
+#### if 多分支语句
+
+使用场景: 适合于有多个条件的时候
+
+```javascript
+if (条件表达式1){
+ // 满足条件要执行的语句1
+} else if (条件表达式2){
+ // 满足条件要执行的语句2
+} else if (条件...){
+ // 满足条件要执行的语句...
+} else {
+ // 条件都不满足时要执行的语句
+}
+```
+
+~~~javascript
+
+~~~
+
+#### 三元运算符(三元表达式)
+
+**使用场景**: 一些简单的双分支,可以使用 三元运算符(三元表达式),写起来比 if else双分支 更简单
+
+**符号**:`? 与 : 配合使用`
+
+语法:
+
+~~~javascript
+条件 ? 表达式1 : 表达式2
+~~~
+
+例如:
+
+~~~javascript
+// 三元运算符(三元表达式)
+// 1. 语法格式
+// 条件 ? 表达式1 : 表达式2
+
+// 2. 执行过程
+// 2.1 如果条件为真,则执行表达式1
+// 2.2 如果条件为假,则执行表达式2
+
+// 3. 验证
+// 5 > 3 ? '真的' : '假的'
+console.log(5 < 3 ? '真的' : '假的')
+
+// 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)
+~~~
+
+#### switch语句(了解)
+
+使用场景: 适合于有多个条件的时候,也属于分支语句,大部分情况下和 if多分支语句 功能相同
+
+注意:
+
+1. switch case语句一般用于等值判断, if适合于区间判断
+2. switchcase一般需要配合break关键字使用 没有break会造成case穿透
+3. if 多分支语句开发要比switch更重要,使用也更多
+
+例如:
+
+~~~javascript
+// switch分支语句
+// 1. 语法
+// switch (表达式) {
+// case 值1:
+// 代码1
+// break
+
+// case 值2:
+// 代码2
+// break
+// ...
+// default:
+// 代码n
+// }
+
+
+~~~
+
+#### 断点调试
+
+**作用:**学习时可以帮助更好的理解代码运行,工作时可以更快找到bug
+
+浏览器打开调试界面
+
+1. 按F12打开开发者工具
+2. 点到源代码一栏 ( sources )
+3. 选择代码文件
+
+**断点:**在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来
+
+
+
+### 循环语句
+
+使用场景:重复执行 指定的一段代码,比如我们想要输出10次 '我学的很棒'
+
+学习路径:
+
+1.while循环
+
+2.for 循环(重点)
+
+#### while循环
+
+while : 在…. 期间, 所以 while循环 就是在满足条件期间,重复执行某些代码。
+
+**语法:**
+
+~~~javascript
+while (条件表达式) {
+ // 循环体
+}
+~~~
+
+例如:
+
+~~~javascript
+// while循环: 重复执行代码
+
+// 1. 需求: 利用循环重复打印3次 '月薪过万不是梦,毕业时候见英雄'
+let i = 1
+while (i <= 3) {
+ document.write('月薪过万不是梦,毕业时候见英雄~
')
+ i++ // 这里千万不要忘了变量自增否则造成死循环
+}
+~~~
+
+循环三要素:
+
+1.初始值 (经常用变量)
+
+2.终止条件
+
+3.变量的变化量
+
+例如:
+
+~~~javascript
+
+~~~
+
+#### 中止循环
+
+`break` 中止整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用(提高效率)
+
+`continue` 中止本次循环,一般用于排除或者跳过某一个选项的时候
+
+~~~javascript
+
+~~~
+
+#### 无限循环
+
+1.while(true) 来构造“无限”循环,需要使用break退出循环。(常用)
+
+2.for(;;) 也可以来构造“无限”循环,同样需要使用break退出循环。
+
+~~~javascript
+// 无限循环
+// 需求: 页面会一直弹窗询问你爱我吗?
+// (1). 如果用户输入的是 '爱',则退出弹窗
+// (2). 否则一直弹窗询问
+
+// 1. while(true) 无限循环
+// while (true) {
+// let love = prompt('你爱我吗?')
+// if (love === '爱') {
+// break
+// }
+// }
+
+// 2. for(;;) 无限循环
+for (; ;) {
+ let love = prompt('你爱我吗?')
+ if (love === '爱') {
+ break
+ }
+}
+~~~
+
+## 综合案例-ATM存取款机
+
+
+
+
+
+
+
+分析:
+
+①:提示输入框写到循环里面(无限循环)
+
+②:用户输入4则退出循环 break
+
+③:提前准备一个金额预先存储一个数额 money
+
+④:根据输入不同的值,做不同的操作
+
+ (1) 取钱则是减法操作, 存钱则是加法操作,查看余额则是直接显示金额
+
+ (2) 可以使用 if else if 多分支 来执行不同的操作
+
+完整代码:
+
+~~~javascript
+
+~~~
+
+# 作业
+
+```html
+
+
+