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个元素
相关推荐
水云桐程序员5 小时前
C++可以写手机应用吗
开发语言·c++·智能手机
测试员周周6 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_16256 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
赏金术士7 小时前
Kotlin 从入门到进阶 之函数模块(核心基础)(二)
android·开发语言·kotlin
xuankuxiaoyao8 小时前
Vue.js实践-组件基础下
前端·javascript·vue.js
小白学大数据8 小时前
JS 混淆加密下的 Python 爬虫解决方案
javascript·爬虫·python
加号39 小时前
【Qt】 应用程序发布:依赖库拷贝与部署指南
开发语言·qt
大家的林语冰9 小时前
前端周刊:axios 疑遭朝鲜黑客“钓鱼“;CSS 新函数上线;npm 上线深色主题;Oxlint 兼容表;ESLint 支持 Temporal......
前端·javascript·css
('-')9 小时前
八股复习2:Java Array list和Linked list
java·开发语言
小黄人软件9 小时前
C++读写编辑CSV文件示例源码 用于数据导入导出,比Excel好使
开发语言·c++·excel