【自学笔记】JavaScript基础知识点总览-持续更新

server/2025/2/12 7:00:51/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • JavaScript重点知识点总览
    • 一、JavaScript基础
      • 1. 变量与数据类型
      • 2. 运算符
      • 3. 分支结构
      • 4. 循环结构
    • 二、函数与作用域
      • 1. 函数
      • 2. 作用域
      • 3. 作用域链
    • 三、面向对象编程
      • 1. 对象
      • 2. 类与继承
    • 四、异步编程
      • 1. 回调函数
      • 2. Promise
      • 3. async/await
    • 五、DOM操作
      • 1. 获取DOM元素
      • 2. 操作DOM元素
      • 3. 事件处理
    • 六、ES6新特性
      • 1. let与const
      • 2. 解构赋值
      • 3. 模板字符串
      • 4. Set与Map
    • 七、模块化
      • 1. ES6模块
      • 2. CommonJS模块
    • 八、其他重要知识点
      • 1. 严格模式
      • 2. JSON
      • 3. 本地存储
      • 4. 定时器与延时器
      • 5. 正则表达式
  • 总结


JavaScript重点知识点总览

一、JavaScript基础

1. 变量与数据类型

  • 变量声明:使用varletconst关键字。
    • var:存在变量提升,可重复声明,声明的变量均可改。
    • let:没有变量提升,不可重复声明,声明的变量均可改。
    • const:没有变量提升,不可重复声明,声明的基本数据类型不可改,引用类型可改属性,必须初始化。
  • 数据类型:基本数据类型(Number、String、Boolean、Undefined、Null、Symbol)和引用数据类型(Object)。

2. 运算符

  • 算术运算符+-*/%
  • 比较运算符><>=<=!======
  • 赋值运算符=+=-=*=/=%=
  • 逻辑运算符||(或)、&&(与)、!(非)。
  • 一元运算符++--

3. 分支结构

  • if语句:单分支、双分支、多分支。
  • switch语句:多分支选择结构,注意使用break避免case穿透。

4. 循环结构

  • for循环:基本for循环、for-in循环(遍历对象属性)、for-of循环(遍历数组或类数组对象)。
  • while循环:基本while循环、do-while循环。

二、函数与作用域

1. 函数

  • 函数声明:使用function关键字。
  • 函数表达式:将函数赋值给变量。
  • 箭头函数:ES6引入,更简洁的函数写法,没有this绑定,不能作为构造函数。

2. 作用域

  • 全局作用域:代码在程序任何地方都能访问。
  • 函数作用域:变量在函数内部声明,只能在该函数内部访问。
  • 块作用域:由{}包围的代码块,letconst声明的变量具有块作用域。

3. 作用域链

  • 在当前作用域中查找变量,如果找不到,则向上级作用域查找,直到全局作用域,形成作用域链。

三、面向对象编程

1. 对象

  • 对象字面量:使用{}创建对象。
  • 构造函数:使用functionclass关键字定义构造函数,通过new关键字创建对象实例。
  • 原型链:每个对象都有一个原型对象,通过原型链实现对象属性和方法的继承。

2. 类与继承

  • :ES6引入,使用class关键字定义类,包含构造函数、方法、静态方法等。
  • 继承:使用extends关键字实现类的继承,子类可以访问父类的属性和方法。

四、异步编程

1. 回调函数

  • 将函数作为参数传递给另一个函数,实现异步操作。

2. Promise

  • 用于处理异步操作的结果,提供thencatchfinally等方法。

3. async/await

  • 基于Promise的语法糖,使用async关键字声明异步函数,使用await关键字等待异步操作完成。

五、DOM操作

1. 获取DOM元素

  • 使用getElementByIdgetElementsByClassNamegetElementsByTagNamequerySelectorquerySelectorAll等方法。

2. 操作DOM元素

  • 修改元素内容、属性、样式等。
  • 使用appendChildremoveChildreplaceChild等方法操作DOM树。

3. 事件处理

  • 捕获和响应用户交互事件,如点击、鼠标移动、键盘输入等。
  • 使用addEventListener方法添加事件监听器。

六、ES6新特性

1. let与const

  • 替代var,提供更严格的块级作用域。

2. 解构赋值

  • 从数组或对象中提取数据,赋值给变量。

3. 模板字符串

  • 使用反引号`包裹字符串,支持变量插值、多行字符串等。

4. Set与Map

  • Set:用于存储唯一值的集合。
  • Map:用于存储键值对的集合。

七、模块化

1. ES6模块

  • 使用importexport关键字实现模块的导入和导出。

2. CommonJS模块

  • 使用requiremodule.exports实现模块的导入和导出,常见于Node.js环境。

八、其他重要知识点

1. 严格模式

  • 使用"use strict"启用严格模式,避免不安全的操作。

2. JSON

  • 用于数据交换的轻量级数据格式,使用JSON.stringifyJSON.parse方法进行序列化和反序列化。

3. 本地存储

  • 使用localStoragesessionStorage实现客户端数据的持久化存储。

4. 定时器与延时器

  • 使用setTimeoutsetInterval实现定时任务和延时任务。

5. 正则表达式

  • 用于字符串匹配、替换和查找的强大工具。
    以上是JavaScript的一些重点知识点总览,涵盖了JavaScript的基础、函数与作用域、面向对象编程、异步编程、DOM操作、ES6新特性、模块化以及其他重要知识点。你可以根据自己的学习进度和需要,进一步补充和完善这份总览。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录JavaScript基础知识点总览。


http://www.ppmy.cn/server/166988.html

相关文章

Visual Studio Code 的 AI 编程助手

文章目录 1. 写在最前面2. AI 编程助手2.1 Top 10 AI Extensions for Visual Studio Code2.1.1 脑图概括2.1.2 详细介绍 2.2 10 Best AI Code Tools: Quick and Easy Guide (2024)2.2.1 脑图概括2.2.2 详细介绍 3. Cody 插件试用4. 碎碎念5. 参考资料 1. 写在最前面 最近在研究…

实战演练!DeepSeek+Chatbox 10分钟构建AI客户端应用与智能助手实例

在人工智能技术日新月异的今天&#xff0c;将AI融入我们的日常生活和工作已成为一种趋势。DeepSeekChatbox作为一款强大的工具组合&#xff0c;能够帮助我们在短时间内构建出功能丰富的AI客户端应用和智能助手。本文将通过一个实战演练&#xff0c;向你展示如何在短短10分钟内&…

小程序实现消息订阅通知完整实践及踩坑记录

1. 实现效果预览 2. 实现步骤 2.1 模版配置 进入小程序后端,选用一次性订阅模版,没有关键字的需要进行2-5天审核,提前进行 2.2 后端核心代码实现 import com.alibaba.fastjson2.JSONObject

模块的加载机制

在 Node.js 中&#xff0c;模块化编程是一个核心概念&#xff0c;它允许开发者将代码分割成独立的、可重用的部分。Node.js 采用 CommonJS 规范来实现模块化&#xff0c;并提供了一套高效的模块加载机制。本文将深入探讨 Node.js 的模块加载机制&#xff0c;包括其工作原理、缓…

Win11下搭建Kafka环境

目录 一、环境准备 二、安装JDK 1、下载JDK 2、配置环境变量 3、验证 三、安装zookeeper 1、下载Zookeeper安装包 2、配置环境变量 3、修改配置文件zoo.cfg 4、启动Zookeeper服务 4.1 启动Zookeeper客户端验证 4.2 启动客户端 四、安装Kafka 1、下载Kafka安装包…

PHP音视频课程培训系统

&#x1f4da; 音视频课程培训系统——为您量身定制的智慧学习空间 &#x1f527; 这是一款匠心独运的课程培训系统&#xff0c;基于ThinkPHP与Uniapp先进框架精心构筑。它不仅集成了音视频课程点播、付费文档获取、活动报名等多元化功能&#xff0c;更致力于为您打造一站式、…

Vue项目能进行哪些性能优化?

一、前言 在新公司开发项目的时候&#xff0c;我发现总结了一个问题就是&#xff0c;当我开发完某个需求。但是当测试完开发完产品验收的时候可能会从性能方面验收的时候会出现一些你意想不到的结果。为此我整理一下项目中优化可以从哪些方面来入手。首先可以从三个方面来进行…

基于离散小波变换的深度学习神经网络在肝细胞癌自动超声成像中的应用| 文献速递-医学影像人工智能进展

Title 题目 Automated ultrasonography of hepatocellular carcinoma using discrete wavelet transform based deep-learning neural network 基于离散小波变换的深度学习神经网络在肝细胞癌自动超声成像中的应用 01 文献速递介绍 全球健康挑战&#xff1a;肝细胞癌的诊断…