JavaScript 学习指南

1. JavaScript 基础知识

1.1 变量和数据类型

  • 变量声明:var、let、const
  • 基本数据类型:
    • Number(数字)
    • String(字符串)
    • Boolean(布尔)
    • null
    • undefined
    • Symbol(ES6新增)
  • 引用数据类型:
    • Object(对象)
    • Array(数组)
    • Function(函数)

1.2 运算符和表达式

  • 算术运算符:+, -, *, /, %, **
  • 比较运算符:==, ===, !=, !==, >, <, >=, <=
  • 逻辑运算符:&&, ||, !
  • 赋值运算符:=, +=, -=, *=, /=

2. 流程控制

2.1 条件语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (条件) {
// 代码块
} else if (条件) {
// 代码块
} else {
// 代码块
}

switch (表达式) {
case1:
// 代码块
break;
case2:
// 代码块
break;
default:
// 默认代码块
}

2.2 循环语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// for循环
for (let i = 0; i < n; i++) {
// 代码块
}

// while循环
while (条件) {
// 代码块
}

// do-while循环
do {
// 代码块
} while (条件);

// for...of循环(遍历可迭代对象)
for (const item of iterable) {
// 代码块
}

// for...in循环(遍历对象属性)
for (const key in object) {
// 代码块
}

3. 函数

3.1 函数定义和调用

1
2
3
4
5
6
7
8
9
10
11
// 函数声明
function functionName(parameter1, parameter2) {
// 函数体
return 返回值;
}

// 箭头函数(ES6)
const functionName = (parameter1, parameter2) => {
// 函数体
return 返回值;
};

3.2 函数特性

  • 函数作用域
  • 闭包
  • 回调函数
  • 高阶函数

4. 面向对象编程

4.1 对象基础

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 对象字面量
const person = {
name: '张三',
age: 25,
sayHello() {
console.log('Hello!');
}
};

// 构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}

4.2 类(ES6)

1
2
3
4
5
6
7
8
9
10
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}

sayHello() {
console.log(`Hello, I'm ${this.name}`);
}
}

5. 异步编程

5.1 Promise

1
2
3
4
5
6
7
8
const promise = new Promise((resolve, reject) => {
// 异步操作
if (操作成功) {
resolve(结果);
} else {
reject(错误);
}
});

5.2 async/await

1
2
3
4
5
6
7
8
9
async function fetchData() {
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error(error);
}
}

6. ES6+ 新特性

6.1 重要特性

  • let 和 const
  • 箭头函数
  • 解构赋值
  • 模板字符串
  • 扩展运算符
  • 类和模块
  • Promise
  • async/await
  • Map 和 Set
  • Symbol

7. DOM操作

7.1 常用DOM操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 选择元素
const element = document.querySelector('.class');
const elements = document.querySelectorAll('.class');

// 修改内容
element.textContent = '新文本';
element.innerHTML = '<span>新HTML</span>';

// 修改样式
element.style.color = 'red';
element.classList.add('new-class');

// 事件监听
element.addEventListener('click', function(event) {
// 处理点击事件
});

8. 学习资源推荐

8.1 在线教程

  • MDN Web Docs
  • JavaScript.info
  • W3Schools
  • FreeCodeCamp

8.2 进阶学习方向

  • React/Vue/Angular 等前端框架
  • Node.js 后端开发
  • TypeScript
  • 设计模式
  • 算法与数据结构
  • 前端工程化(Webpack/Vite)

9. 最佳实践

9.1 代码规范

  • 使用 ESLint 进行代码检查
  • 遵循命名规范
  • 编写清晰的注释
  • 模块化开发
  • 错误处理
  • 性能优化

9.2 调试技巧

  • 使用 console 系列方法
  • 浏览器开发者工具
  • 断点调试
  • 性能分析

10. 项目实战建议

10.1 循序渐进

  1. 从小项目开始
  2. 逐步增加复杂度
  3. 实践中学习
  4. 代码审查和重构
  5. 持续集成和部署

10.2 建议项目

  • 待办事项应用
  • 简单的游戏
  • 个人博客
  • 天气应用
  • 购物车功能