javascript思维导图(更新中)

📅 2026/7/14 15:33:28 👁️ 阅读次数 📝 编程学习
javascript思维导图(更新中)

javascript

变量

首字符为字母、下划线或者美元号,后序字符可以为数字,字母、下划线或者美元号。使用var或者let声明变量,推荐使用let

类型

数据类型有

  • undefined:声明没有初始化时值为undefined,用typeof 未发声明的变量时也是undefined
  • number
  • boolean
  • string
  • object或者null
  • function
  • symbol

基本引用类型

RegExp

原始包装类型

String

集合引用类型


数组Array

扩展操作符为...,用于数组或者对象中获取元素集合

  • 使用的是浅拷贝
  • 在使用在对象扩展时,如果有重复的,后面的会覆盖前面的

定型数组

主要有

  • ArrayBuffer
  • DataView
  • int8Array, int16Array,int32Array以及对应无符号
  • Float32Array, Float64Array

Map

新建:是通过new Map()不带参数或者指定元素数组形式,元素为二元素数组

添加:m.set(key, value)

判断是否存在:m.has(key)

获取key对应的value:m.get(key)

WeakMap

key只能是object或者继承自object的类型

应用:私有变量,闭包实现

迭代器和生成器

迭代器是通过符号属性Symbol.iterator来定义。注意可迭代对象的迭代器与对迭代器再次取迭代器时,两者是一样的

生成器通过function*来定义,其支持生成器函数声明、生成器函数表达式、作为对象字面量方法的生成器函数、类实例方法、类静态方法。

  • yield只能在生成器函数中使用,不支持函数嵌套。
  • 通过yield来中断执行
  • yield* 用于迭代一个可迭代对象。可实现递归操作

对象和面向对象

代理(Proxy)和反射(Reflect)

与java中的Proxy和InvocationHandler类似,Reflect主要用在类型于InvocationHandler的处理程序对象中

js之代理和反射

函数

js之函数

期约和异步函数

js之期约和异步函数

浏览器对象模型(BOM)

js之BOM

文档对象模型(DOM)

js之DOM

事件系统

js之事件系统

动画/绘图

js之动画/绘图

表单

js之表单

javascript api

js之javascript API

JavaScript 参考

错误处理

js之错误处理

xml

js之xml处理

json

js之json处理

网络请求与远程资源

js之网络请求与远程资源

客户端存储

js之客户端存储

模块系统

js之模块系统

工作者线程

js之工作者线程

typescript

官网

flow:与typescript类似

书籍

《深入理解TypeScript》

《Effective TypeScript》

《TypeScript项目开发实战》

TypeScript入门与全栈式网站开发实战》

《TypeScript编程》

《TypeScript设计模式》

Node.js

官网

《深入浅出Node.js》

《Node.js实战》

《狼书(卷3):Node.js高级技术》

Express/Koa源码学习

Socket.IO(实时通信底层实现)

next.js

React 赋予服务端能力,全栈

官网

nest.js

Node.js 引入企业级架构(模块化、依赖注入、AOP),让后端开发者能写出“可维护、可扩展”的服务

官网

axios

英文官网

中文官网

orm

sequelize:中文