青训营X豆包MarsCode 技术训练营javascript | 豆包MarsCode AI 刷题

52 阅读4分钟

JavaScript 学习笔记

1. JavaScript 简介

JavaScript(简称 JS)是一种高级、解释性、动态的编程语言,是 web 开发的重要组成部分。它被广泛应用于浏览器端,几乎所有的现代网站都使用 JavaScript 来实现丰富的交互和动态内容。随着 Node.js 的普及,JavaScript 也成功进入了服务器端开发的领域。

2. 基本语法

JavaScript 的基本语法相对简单,包括变量声明、数据类型、操作符、控制结构和函数等。一个基本的声明语句可以这样写:

let age = 25; // 使用 let 声明变量
const name = "Alice"; // 使用 const 声明常量

JavaScript 是动态类型语言,意味着变量的类型是在运行时决定的。主要的数据类型包括:数字(Number)、字符串(String)、布尔值(Boolean)、对象(Object)、数组(Array)、函数(Function)和 null、undefined。

3. 变量声明

在 JavaScript 中,变量可以通过 var, letconst 进行声明。var 是传统的声明方式,变量的作用域是函数级别;而 letconst 是 ES6 引入的,作用域是块级别。const 声明的变量值不能改变,适用于常量。

4. 数据结构

JavaScript 提供了多种数据结构,最常用的包括:

  • 数组:用于存储有序的数据集合,支持多种操作如添加、删除、排序等。
  • 对象:用于存储无序的键值对,提供一种灵活的结构来组织数据。
  • MapSet:ES6 中引入的更灵活的数据结构,Map 提供了有序的键值对,而 Set 用于存储唯一值的集合。

5. 函数

函数是 JavaScript 的重要组成部分。可以通过函数声明、函数表达式和箭头函数的方式定义函数。函数支持高阶函数,即可以接受函数作为参数,或返回一个函数。这种特性使得 JavaScript 中的函数式编程得到了广泛应用。

function add(a, b) {
    return a + b;
}

const multiply = function(a, b) {
    return a * b;
};

const divide = (a, b) => a / b; // 箭头函数

6. 控制结构

JavaScript 提供了多种控制结构以实现条件判断和循环控制。常用的条件语句包括 if...else, switch 等;而循环结构主要有 for, while, do...while 等。了解如何灵活使用这些结构,可以帮助我们简单高效地处理各种逻辑。

7. 异步编程

JavaScript 的异步编程模型是通过回调函数、Promise 和 async/await 等实现的。这种设计使得 JavaScript 可以处理耗时操作(如网络请求、文件读写等),不会阻塞主线程。

  • 回调函数:在异步操作完成后执行的函数。
  • Promise:表示一个异步操作的最终完成(或失败),及其结果值的表示。
  • async/await:在 ES8 中引入的语法糖,使得异步代码的写法更接近于同步代码。
async function fetchData() {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    return data;
}

8. DOM 操作

JavaScript 可以通过 DOM(文档对象模型)与 HTML 与 CSS 互动,动态改变网页内容和样式。常用的 DOM 操作方法包括 document.getElementById(), document.querySelector(), 和 addEventListener()。了解这些方法的使用,是前端开发的重要技能。

const button = document.querySelector('button');
button.addEventListener('click', () => {
    alert('Button clicked!');
});

9. JavaScript 模块化

随着项目规模的扩大,代码的组织和维护变得更加重要。因此,ES6 引入了模块化的概念,可以通过 importexport 关键字来实现模块之间的依赖和复用。模块化使得代码结构更加清晰,提高了可维护性。

10. 现代 JavaScript 特性

ES6 及后续版本引入了一系列新的特性,如模板字面量、解构赋值、默认参数、扩展运算符、类等,这些特性极大地提升了 JavaScript 的可用性和灵活性。掌握这些现代特性,对于提高开发效率非常重要。

结论

学习 JavaScript 是前端开发的基础,通过掌握变量、数据结构、函数、控制结构、异步编程、DOM 操作等基本概念,我们可以开发功能强大的网页应用。在学习的过程中,编写和运行代码是最有效的学习方式。随着对 JavaScript 的深入理解,可以进一步探索各类框架和库(如 React、Vue、Angular 等),不断提升自己的前端开发能力。最后,保持对 JavaScript 生态的关注,参与开源项目和社区可以帮助成长为一名优秀的开发者。