初识javascript

目录

基础语法特性

变量和数据类型

运算符

控制流程

条件语句

循环语句

跳转语句

函数特性

函数定义

函数参数

作用域和闭包

对象和面向对象

对象操作

面向对象特性

对象内置方法

数组操作

数组基础

数组方法

字符串处理

字符串操作

字符串方法

正则表达式

正则基础

正则方法

错误处理

异常处理

错误类型

异步编程

回调函数

Promise

async/await

模块系统

[ES6 模块](#ES6 模块)

CommonJS (Node.js)

[DOM 操作](#DOM 操作)

[DOM 查询](#DOM 查询)

[DOM 操作](#DOM 操作)

事件系统

事件处理

常见事件

[BOM 操作](#BOM 操作)

浏览器对象

[浏览器 API](#浏览器 API)

网络请求

XMLHttpRequest

[Fetch API](#Fetch API)

[JSON 处理](#JSON 处理)

[JSON 操作](#JSON 操作)

日期和时间

[Date 对象](#Date 对象)

日期方法

数学运算

[Math 对象](#Math 对象)

类型检测和转换

类型检测

类型转换

[ES6+ 新特性](#ES6+ 新特性)

解构赋值

新数据结构

迭代器和生成器

代理和反射

内存管理

垃圾回收

性能优化

调试和测试

调试工具

性能监控


基础语法特性

变量和数据类型

  • 变量声明:var、let、const
  • 原始数据类型:number、string、boolean、null、undefined、symbol、bigint
  • 引用数据类型:object、array、function

运算符

  • 算术运算符:+、-、*、/、%、**
  • 比较运算符:=====、!=、!==、<、>、<=、>=
  • 逻辑运算符:&&、||、!
  • 赋值运算符:=、+=、-=、*=、/=等
  • 位运算符:&、|、^、~、<<、>>、>>>
  • 条件运算符:? :
  • 展开运算符:...
  • 可选链运算符:?.
  • 空值合并运算符:??

控制流程

条件语句

  • if...else 语句
  • switch...case 语句
  • 条件表达式

循环语句

  • for 循环
  • while 循环
  • do...while 循环
  • for...in 循环
  • for...of 循环

跳转语句

  • break 语句
  • continue 语句
  • return 语句
  • throw 语句

函数特性

函数定义

  • 函数声明
  • 函数表达式
  • 箭头函数
  • 立即执行函数 IIFE

函数参数

  • 默认参数
  • 剩余参数
  • 参数解构
  • arguments 对象

作用域和闭包

  • 全局作用域
  • 函数作用域
  • 块级作用域
  • 词法作用域
  • 闭包机制

对象和面向对象

对象操作

  • 对象字面量
  • 属性访问和设置
  • 属性描述符
  • 对象方法
  • 计算属性名

面向对象特性

  • 构造函数
  • 原型和原型链
  • 继承机制
  • Class 语法
  • super 关键字
  • 静态方法和属性

对象内置方法

  • Object.create()
  • Object.assign()
  • Object.keys()
  • Object.values()
  • Object.entries()
  • Object.freeze()
  • Object.seal()

数组操作

数组基础

  • 数组字面量
  • 数组索引操作
  • 数组长度属性
  • 多维数组

数组方法

  • 添加/删除:push、pop、shift、unshift、splice
  • 查找:indexOf、lastIndexOf、find、findIndex、includes
  • 遍历:forEach、map、filter、reduce、some、every
  • 排序:sort、reverse
  • 转换:join、concat、slice

字符串处理

字符串操作

  • 字符串字面量
  • 模板字符串
  • 字符串拼接
  • 字符串属性和方法

字符串方法

  • 查找:indexOf、lastIndexOf、search、match
  • 截取:substring、substr、slice
  • 替换:replace、replaceAll
  • 转换:toLowerCase、toUpperCase、trim
  • 分割:split

正则表达式

正则基础

  • 正则表达式字面量
  • RegExp 构造函数
  • 模式匹配
  • 修饰符:g、i、m、s、u、y

正则方法

  • test() 方法
  • exec() 方法
  • match() 方法
  • replace() 方法

错误处理

异常处理

  • try...catch 语句
  • try...catch...finally 语句
  • throw 语句
  • Error 对象及其子类

错误类型

  • SyntaxError
  • ReferenceError
  • TypeError
  • RangeError
  • URIError

异步编程

回调函数

  • 异步回调
  • 回调地狱问题

Promise

  • Promise 对象
  • then、catch、finally 方法
  • Promise.all()
  • Promise.race()
  • Promise.resolve()
  • Promise.reject()

async/await

  • async 函数
  • await 表达式
  • 异步错误处理

模块系统

ES6 模块

  • import 语句
  • export 语句
  • 默认导出和命名导出
  • 动态导入

CommonJS (Node.js)

  • require() 函数
  • module.exports
  • exports 对象

DOM 操作

DOM 查询

  • document.getElementById()
  • document.querySelector()
  • document.querySelectorAll()
  • getElementsByClassName()
  • getElementsByTagName()

DOM 操作

  • 元素创建和删除
  • 属性操作
  • 样式操作
  • 内容操作
  • 事件处理

事件系统

事件处理

  • addEventListener()
  • removeEventListener()
  • 事件对象
  • 事件冒泡和捕获
  • 事件委托

常见事件

  • 鼠标事件:click、mouseover、mouseout
  • 键盘事件:keydown、keyup、keypress
  • 表单事件:submit、change、input
  • 窗口事件:load、resize、scroll

BOM 操作

浏览器对象

  • window 对象
  • location 对象
  • navigator 对象
  • history 对象
  • screen 对象

浏览器 API

  • 定时器:setTimeout、setInterval
  • 弹窗:alert、confirm、prompt
  • 本地存储:localStorage、sessionStorage
  • Cookie 操作

网络请求

XMLHttpRequest

  • 创建请求对象
  • 发送请求
  • 处理响应
  • 状态码处理

Fetch API

  • fetch() 函数
  • Response 对象
  • Request 对象
  • Headers 对象

JSON 处理

JSON 操作

  • JSON.parse()
  • JSON.stringify()
  • JSON 格式验证

日期和时间

Date 对象

  • 日期创建
  • 日期格式化
  • 日期计算
  • 时间戳操作

日期方法

  • getTime()、setTime()
  • getFullYear()、setFullYear()
  • getMonth()、setMonth()
  • getDate()、setDate()

数学运算

Math 对象

  • 数学常量:Math.PI、Math.E
  • 基础运算:Math.abs()、Math.pow()、Math.sqrt()
  • 取整函数:Math.floor()、Math.ceil()、Math.round()
  • 随机数:Math.random()
  • 三角函数:Math.sin()、Math.cos()、Math.tan()

类型检测和转换

类型检测

  • typeof 操作符
  • instanceof 操作符
  • Object.prototype.toString()
  • Array.isArray()

类型转换

  • 显式转换:Number()、String()、Boolean()
  • 隐式转换规则
  • parseInt()、parseFloat()

ES6+ 新特性

解构赋值

  • 数组解构
  • 对象解构
  • 参数解构

新数据结构

  • Set 和 WeakSet
  • Map 和 WeakMap
  • Symbol 类型

迭代器和生成器

  • Iterator 接口
  • Generator 函数
  • yield 表达式

代理和反射

  • Proxy 对象
  • Reflect 对象

内存管理

垃圾回收

  • 引用计数
  • 标记清除
  • 内存泄漏防范

性能优化

  • 作用域链优化
  • 避免全局变量
  • 事件处理器管理

调试和测试

调试工具

  • console 对象方法
  • debugger 语句
  • 浏览器开发者工具

性能监控

  • console.time()
  • performance API
  • 内存使用监控

相关推荐
Mintopia2 分钟前
🚀 Next 数据库集成:建模篇
前端·javascript·next.js
Dignity_呱4 分钟前
一文彻底了解浏览器垃圾回收机制
前端·javascript·面试
柏成5 分钟前
写给前端仔仔的docker实战
前端·docker·面试
鹏多多12 分钟前
vue计算属性computed的详解
前端·javascript·vue.js
JarvanMo12 分钟前
Flutter 应用安全清单
前端
浩男孩15 分钟前
🍀实际开发中没想到 computed 在表单中还能这么使用🚀🚀
前端·vue.js
月下点灯18 分钟前
uniapp仿抖音评论区popup对话框实现(多端兼容)
前端·javascript·vue.js
江城开朗的豌豆28 分钟前
React的渲染时机:聊透虚拟DOM的更新机制
前端·javascript·react.js
anyup35 分钟前
🔥🔥 uView Pro:Vue3+TS重构的uni-app开源组件库,文档免费无广告!
前端·vue.js·uni-app
CodeSheep44 分钟前
我天,Java 已沦为老四。。
前端·后端·程序员