# JavaScript 基础第三天
# 今日目标
掌握循环语句,让程序具备重复执行能力
掌握数组声明及访问的语法
# 一、循环 - for
# 1、for 循环基本使用
目标:掌握 for 循环重复执行某些代码
需求:罚跑圈 5 圈
# 跑圈核心
- 起始值
- 判断条件
- 值加 1
- 跑步
# 1.1 for 循环语法
** 作用:** 重复执行代码
** 好处:** 把声明起始值、循环条件、变化值写到一起,让人一目了然,它是最常使用的循环形式
示例代码:
1 | for (变量起始值; 终止条件; 变量值) { |
# 1.2 for 循环执行过程
- 初始化变量,初始化操作在整个 for 循环只会执行一次。
- 执行条件表达式,如果为 true,则执行循环体语句,否则退出循环,循环结束。
- 直至条件表达式为假,结束整个 for 循环。
# + 循环练习
1、利用 for 循环输出 1~100 岁
2、求 1-100 之间所有的偶数和
3、页面中打印 5 个小星星
4、for 循环的最大价值: 循环数组
需求: 请将 数组 [‘马超’,‘赵云’, ‘张飞’, ‘关羽‘,’黄忠’] 依次打印出来
# 1.3 退出循环
continue 退出本次循环,一般用于排除或者跳过某一个选项的时候,可以使用 continue
break 退出整个 for 循环,一般用于结果已经得到,后续的循环不需要的时候可以使用
了解:
while (true) 来构造 “无限” 循环,需要使用 break 退出循环。
for(;😉 也可以来构造 “无限” 循环,同样需要使用 break 退出循环。
# 2、循环嵌套
# 2.1 for 循环嵌套
<span style="color:red;"> 循环嵌套 </span> 是指在 < span style="color:red;"> 一个循环语句中再定义一个循环语句的语法结构 </span>,例如在 **<span style="color:red;">for 循环语句中,可以再嵌套一个 for 循环 </span>**,这样的 for 循环语句我们也称之为 < span style="color:red;"> 双重 for 循环 </span>。
语法:
1 | for (外循环的初始; 外循环的条件; 外循环的操作表达式) { |
注意:
<span style="color:red;"> 内层循环 </span> 可以看做 <span style="color:red;"> 外层循环的语句 </span>。
外层循环执行 <span style="color:red;"> 一次 </span>,内层循环要执行 < span style="color:red;"> 全部次数 </span>。
内层循环执行的顺序也要 <span style="color:red"> 遵循 for 循环的执行顺序 </span> 。
# 案例
- 打印五行五列小星星
- 打印直角三角形
- 99 乘法表
# 二、数组
知道什么是数组及其应用的场景,掌握数组声明及访问的语法。
# 3 、创建数组
JS 中创建数组有两种方式:1. 利用 new 创建数组 2. 利用数组字面量创建数组
1. 利用 new 创建数组 (了解)
1
2let 数组名 = new Array()
let arr = new Array() // 创建一个新的空数组注意 Array () ,A 要大写
2. 利用数组字面量创建数组 (重点)
1
2
3
4//1. 使用数组字面量方式创建空的数组
let 数组名 = [];
//2. 使用数组字面量方式创建带初始值的数组
let 数组名 = ['小白','小黑','大黄','瑞奇'];- 数组的字面量是 <span style="color:red;"> 方括号 [ ] </span>
- 声明数组并赋值称为数组的 <span style="color:red;"> 初始化 </span>
- 这种 <span style="color:red;"> 字面量方式 </span> 也是我们以后最多使用的方式
数组元素的类型
数组中可以存放 <span style="color: red;"> 任意类型 </span> 的数据,例如字符串,数字,布尔值等。
1
let arrStus = ['小白',12,true,28.9];
# 3.1 获取数组中的元素
索引 (下标) :<span style="color:red"> 用来访问数组元素的序号(数组下标从 0 开始)</span>。
索引的作用:
- 数组可以通过 <span style="color:red;"> 索引 </span> 来访问、设置、修改对应的数组元素,可以通过 < span style="color:red;"> 数组名 [索引]</span> 的形式来获取数组中的元素。
1 | // 定义数组 |
注意:如果访问时 <span style="color:red;"> 数组没有和索引值对应的元素 </span>,则得到的值是 undefined
# 3.2 数组的长度
数组的长度:默认情况下表示数组中元素的个数
使用 **<span style="color:red;"> 数组名.length</span>** 可以访问数组元素的数量(数组长度)。
1 | let arr = ['关羽', '张飞', '马超', '赵云', '黄忠', '刘备', '姜维']; |
注意:
- 此处 <span style="color:red;"> 数组的长度是数组元素的个数 </span> ,不要和数组的索引号混淆。
- 当我们数组里面的 <span style="color:red;"> 元素个数发生了变化 </span>,这个 <span style="color:red;">length 属性 </span> 跟着一起变化
# 3.3 操作数组
数组做为对象数据类型,不但有 length
属性可以使用,还提供了许多方法:
- push 动态向数组的尾部添加一个单元
- unshit 动态向数组头部添加一个单元
- pop 删除最后一个单元
- shift 删除第一个单元
- splice 动态删除任意单元
使用以上 4 个方法时,都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 length
并不会发生错乱。
1 | <script> |
# 3.4 冒泡排序(了解)
冒泡排序:是一种算法,把一系列的数据 <span style="color:red;"> 按照一定的顺序进行排列显示 (从小到大或从大到小)</span>。
原理:
- 两两比较
- 大的数放右边(考虑升序)
1 | // 冒泡排序 |
<span style="color:red;"></span>
<span style="color:purple;"></span>
<span style="color:green;"></span>