初识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
  • 内存使用监控

相关推荐
前端不太难5 小时前
从 Navigation State 反推架构腐化
前端·架构·react
前端程序猿之路6 小时前
Next.js 入门指南 - 从 Vue 角度的理解
前端·vue.js·语言模型·ai编程·入门·next.js·deepseek
大布布将军6 小时前
⚡️ 深入数据之海:SQL 基础与 ORM 的应用
前端·数据库·经验分享·sql·程序人生·面试·改行学it
川贝枇杷膏cbppg6 小时前
Redis 的 RDB 持久化
前端·redis·bootstrap
D_C_tyu6 小时前
Vue3 + Element Plus | el-table 表格获取排序后的数据
javascript·vue.js·elementui
JIngJaneIL6 小时前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
天外天-亮7 小时前
v-if、v-show、display: none、visibility: hidden区别
前端·javascript·html
jump_jump7 小时前
手写一个 Askama 模板压缩工具
前端·性能优化·rust
be or not to be7 小时前
HTML入门系列:从图片到表单,再到音视频的完整实践
前端·html·音视频
90后的晨仔8 小时前
在macOS上无缝整合:为Claude Code配置魔搭社区免费API完全指南
前端