From 40f70f9ffffa161813bbdb386cccee0a71003dd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E8=89=AF=E7=A1=BC?= <2242707601@qq.com> Date: Mon, 30 Oct 2023 13:20:31 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=B4=E8=89=AF=E7=A1=BC=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴良硼 <2242707601@qq.com> --- ...02\345\244\251\344\275\234\344\270\232.md" | 774 ++++++++++++++++++ 1 file changed, 774 insertions(+) create mode 100644 "04\345\220\264\350\211\257\347\241\274/20231030JavaScript\345\237\272\347\241\200\347\254\25402\345\244\251\344\275\234\344\270\232.md" diff --git "a/04\345\220\264\350\211\257\347\241\274/20231030JavaScript\345\237\272\347\241\200\347\254\25402\345\244\251\344\275\234\344\270\232.md" "b/04\345\220\264\350\211\257\347\241\274/20231030JavaScript\345\237\272\347\241\200\347\254\25402\345\244\251\344\275\234\344\270\232.md" new file mode 100644 index 0000000..3adb0e8 --- /dev/null +++ "b/04\345\220\264\350\211\257\347\241\274/20231030JavaScript\345\237\272\347\241\200\347\254\25402\345\244\251\344\275\234\344\270\232.md" @@ -0,0 +1,774 @@ + + +# 笔记: + +## 运算符 + +### 算术运算符 + +数字是用来计算的,比如:乘法 * 、除法 / 、加法 + 、减法 - 等等,所以经常和算术运算符一起。 + +算术运算符:也叫数学运算符,主要包括加、减、乘、除、取余(求模)等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('pink老师' - 2) +console.log('pink老师' * 2) +console.log('pink老师' + 2) // pink老师2 +``` + +### 赋值运算符 + +赋值运算符:对变量进行赋值的运算符 + + = 将等号右边的值赋予给左边, 要求左边必须是一个容器 + +| 运算符 | 作用 | +| ------ | -------- | +| += | 加法赋值 | +| -+ | 减法赋值 | +| *= | 乘法赋值 | +| /= | 除法赋值 | +| %= | 取余赋值 | + +```javascript + +``` + +### 自增/自减运算符 + +| 符号 | 作用 | 说明 | +| ---- | ---- | -------------------------- | +| ++ | 自增 | 变量自身的值加1,例如: x++ | +| -- | 自减 | 变量自身的值减1,例如: x-- | + +1. ++在前和++在后在单独使用时二者并没有差别,而且一般开发中我们都是独立使用 +2. ++在后(后缀式)我们会使用更多 + +> 注意: +> +> 1. 只有变量能够使用自增和自减运算符 +> 2. ++、-- 可以在变量前面也可以在变量后面,比如: x++ 或者 ++x + +```javascript + +``` + +### 比较运算符 + +使用场景:比较两个数据大小、是否相等,根据比较结果返回一个布尔值(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 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 + } +} +~~~ + + + + + +# 作业 + +### 核心知识点 + +1. 打印0-20之间的整数, 将每个数输出到控制台 + +2. 计算1-1000之间的累加和,并且打印输出到页面中 + +3. 页面依次打印 100-200之间,可以被6整除的数字 + +4. 用户弹窗输入两个数字,页面输出两个数字中的最大值(请使用三元运算符完成) + +5. **用户输入一个数, 计算 1 到这个数的累加和** + + - 比如 用户输入的是 5, 则计算 1~5 之间的累加和 + - 比如用户输入的是10, 则计算 1~10 之间的累加和 + +6. **输出成绩案例(请使用if多分支来书写程序)** + + 题目描述: + + 接收用户输入的分数,根据分数输出对应的等级字母 A、B、C、D、E, + + - 90分(含)以上 ,输出:A + 80分(含)~ 90 分(不含),输出:B + 70分(含)~ 80 分(不含),输出:C + 60分(含)~ 70 分(不含),输出:D + - 60分(不含) 以下,输出 E + +7. **输出星期练习(请使用switch分支语句来书写程序)** + + 题目描述: + + 请用户输入1个星期数. 就将对应的英文的星期打印出来. + + - 比如用户输入'星期一', 则 页面可以打印 monday + - 英文自己查有道。比如星期一是 monday 星期二是 tuesday + +8. **用户登录验证** + + 题目描述: + + 接收用户输入的用户名和密码,若用户名为 “admin” ,且密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。 + + + +### 综合案例变形 + +需求:根据用户选择计算两个数的结果: + +**题目描述:** + +打开页面出现一个提示框,注意是一直提示的,'请您选择 + - * / ,如果输入q,则是退出结束程序 + +- 如果输入的是 + - * / 其中任何一个,比如用户输入是 + ,则是计算求和,如果用户输入是 * 则是计算乘积 + - 则提示第一个弹窗,提示用户:'请您输入第一个数字' + - 输入完毕则继续提示第二个弹窗,提示用户:'请您输入第二个数字' + - 都输入完毕,则通过警示框 alert 输出结果 +- 如果输入是 q,则结束程序 + +提示:多分支请使用 if 多分支来完成 + + + + + +```html + + + + + + + Document + + + + + + + +``` + + + + + +具体效果如图: + + + +## 简答题:关键字汇总( 能够简单的说出来这些关键字干啥用的 ) + +- #### let + + 是用于声明变量的关键字 +- #### typeof + + 是JavaScript中的一个运算符,用于获取一个值的数据类型。它返回一个表示该值的数据类型的字符串 + +- #### if + + 是JavaScript中的一个条件语句,用于根据给定条件执行不同的代码块 + +- #### else + + 是JavaScript中的一个关键字,用于在条件语句中定义一个可选的“否则”分支。当条件语句的条件不满足时,程序将执行 `else` 块中的代码 + +- #### switch + + 是JavaScript中的一个条件语句, `switch` 语句由一个表达式和一系列 `case` 分支组成,每个 `case` 表示不同的条件,如果表达式的值与某个 `case` 匹配,则执行该分支下的代码块。如果没有匹配的 `case`,可以使用 `default` 分支执行默认的代码块。 + + ```html + switch (expression) { + case value1: + // 当 expression 的值等于 value1 时执行的代码块 + break; + case value2: + // 当 expression 的值等于 value2 时执行的代码块 + break; + case value3: + // 当 expression 的值等于 value3 时执行的代码块 + break; + default: + // 当 expression 的值与上述所有的 value 都不匹配时执行的代码块 + } + ``` + +- #### case + + `switch` 语句由一个表达式和一系列 `case` 分支组成,每个 `case` 表示不同的条件,如果表达式的值与某个 `case` 匹配,则执行该分支下的代码块。如果没有匹配的 `case`,可以使用 `default` 分支执行默认的代码块。 + +- #### default + + 是 `switch` 语句中的一个可选分支,用于处理当表达式的值与所有的 `case` 都不匹配时的情况。如果没有匹配的 `case`,则会执行 `default` 分支中的代码块 + +- #### while + + JavaScript 中的一种循环语句,它用于重复执行一段代码块,直到给定的条件不再满足为止。循环体中的代码会一遍又一遍地执行,直到条件为假(false)时停止执行 + +- #### break + + `break` 是 JavaScript 中的一种关键字,用于中断循环语句(例如 `for`、`while` 和 `do...while` 循环)或者 `switch` 语句。当执行 `break` 关键字时,程序会跳出当前循环或者 `switch` 分支,继续执行循环/分支之后的代码 + +- #### continue + + 是 JavaScript 中的一个关键字,用于跳过当前循环中的某一次迭代。当遇到 `continue` 语句时,循环会立即停止本次迭代,直接进入下一次迭代 + + + -- Gitee