JavaScript 基础进阶:分支、循环与数组实战总结

目录

[一、if 与 switch 的使用对比](#一、if 与 switch 的使用对比)

[1. 相同点](#1. 相同点)

[2. 不同点](#2. 不同点)

[3. 使用建议](#3. 使用建议)

[二、for 循环:最常用的循环结构](#二、for 循环:最常用的循环结构)

[1. 基本结构](#1. 基本结构)

[2. 循环的三要素](#2. 循环的三要素)

[3. break 与 continue](#3. break 与 continue)

[4. for vs while 怎么选?](#4. for vs while 怎么选?)

三、循环嵌套(重点)

执行规律:

[1. 示例:学习计划模拟](#1. 示例:学习计划模拟)

[2. 打印三角形](#2. 打印三角形)

[3. 九九乘法表(经典)](#3. 九九乘法表(经典))

四、数组:数据集合的核心结构

[1. 什么是数组?](#1. 什么是数组?)

[2. 数组索引(重点)](#2. 数组索引(重点))

[3. 修改数组](#3. 修改数组)

[4. 数组可以存什么?](#4. 数组可以存什么?)

[5. length 属性](#5. length 属性)

五、数组常用操作方法

[1. 添加元素](#1. 添加元素)

[2. 删除元素](#2. 删除元素)

[3. 任意位置操作(最强)](#3. 任意位置操作(最强))


一、if 与 switch 的使用对比

在多条件判断中,if...elseswitch...case 都可以实现"多选一"的逻辑,但它们适用的场景有所不同。

1. 相同点

  • 都可以实现多分支逻辑
  • 在很多情况下可以互相替代

2. 不同点

|------|---------------|-----------------------|
| 对比点 | if...else | switch |
| 适用场景 | 范围判断(如 >、<) | 固定值匹配 |
| 执行方式 | 逐个判断条件 | 直接定位匹配值 |
| 性能 | 条件多时较慢 | 分支多时更高效 |
| 注意点 | 无特殊限制 | 必须使用 ===,注意 break |

3. 使用建议

  • 条件是范围判断 → 用 if...else
  • 条件是固定值匹配 → 用 switch
  • 分支少 → if 更简单
  • 分支多 → switch 更清晰

二、for 循环:最常用的循环结构

循环的本质是:让代码重复执行

1. 基本结构

javascript 复制代码
for (起始值; 终止条件; 变化量) {
  // 执行代码
}

例如输出 1~6 的标题:

javascript 复制代码
for (let i = 1; i <= 6; i++) {
  document.write(`<h${i}>标题</h${i}>`)
}

2. 循环的三要素

  • 起始值(从哪里开始)
  • 终止条件(什么时候结束)
  • 变化量(每次怎么变)

👉 三者缺一不可,否则容易出现死循环


3. break 与 continue

javascript 复制代码
// continue:跳过本次
for (let i = 1; i <= 5; i++) {
  if (i === 3) continue
  console.log(i)
}

// break:终止整个循环
for (let i = 1; i <= 5; i++) {
  if (i === 3) break
  console.log(i)
}

4. for vs while 怎么选?

  • 明确循环次数 → 用 for
  • 不确定循环次数 → 用 while

👉 实际开发中,for 使用频率更高


三、循环嵌套(重点)

嵌套循环可以理解为:循环里面再套一层循环

执行规律:

👉 外层执行一次,内层执行一整轮


1. 示例:学习计划模拟

复制代码
for (let i = 1; i < 4; i++) {
  console.log(`第${i}天`)
  for (let j = 1; j < 6; j++) {
    console.log(`第${j}个单词`)
  }
}

2. 打印三角形

复制代码
for (let i = 1; i <= 5; i++) {
  for (let j = 1; j <= i; j++) {
    document.write('★')
  }
  document.write('<br>')
}

3. 九九乘法表(经典)

复制代码
for (let i = 1; i <= 9; i++) {
  for (let j = 1; j <= i; j++) {
    document.write(`${j} x ${i} = ${j * i}`)
  }
  document.write('<br>')
}

👉 这是前端面试非常高频的基础题


四、数组:数据集合的核心结构

1. 什么是数组?

数组是一种按顺序存储多个数据的结构

复制代码
let names = ['小明', '小红', '小刚']

2. 数组索引(重点)

  • 索引从 0 开始

  • 访问方式:

    names[0] // 小明
    names[1] // 小红


3. 修改数组

复制代码
names[1] = '小丽'

4. 数组可以存什么?

👉 任意类型都可以

复制代码
let arr = [
  '字符串',
  123,
  true,
  { name: '对象' }
]

5. length 属性

复制代码
let arr = ['a', 'b', 'c']
console.log(arr.length) // 3

👉 用于获取数组长度(非常重要)


五、数组常用操作方法

这些方法都会直接修改原数组

1. 添加元素

复制代码
arr.push('新元素')     // 末尾添加
arr.unshift('新元素')  // 头部添加

2. 删除元素

复制代码
arr.pop()    // 删除最后一个
arr.shift()  // 删除第一个

3. 任意位置操作(最强)

复制代码
arr.splice(开始索引, 删除个数)

例如:

复制代码
arr.splice(2, 1) // 删除第3个元素
相关推荐
小小测试开发1 天前
安装 Python 3.10+
开发语言·人工智能·python
AAA大运重卡何师傅(专跑国道)1 天前
【无标题】
开发语言·c#
sugar__salt1 天前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
XBodhi.1 天前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
MageGojo1 天前
随机文案模块怎么做?从接口封装到前端展示的完整实现思路
javascript·前端开发·api接口·后端开发·随机文案
独特的螺狮粉1 天前
篮球集训班器具管理系统 - 鸿蒙PC Electron框架完整技术实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙
小妖6661 天前
js 生成随机数技巧 Math.random().toString(36)
javascript·随机数
LSssT.1 天前
【01】Python 机器学习
开发语言·python
AI_零食1 天前
番茄钟鸿蒙PC Electron框架完成:状态机、定时器管理与专注力工具设计
前端·javascript·华为·electron·开源·鸿蒙·鸿蒙系统
提子拌饭1331 天前
逛三园游戏——基于鸿蒙PC Electron框架实现
前端·javascript·游戏·华为·electron·鸿蒙