学习 JavaScript 的终极路线图:从基础到高级
JavaScript 参考表
目录
JavaScript 参考表
JavaScript 学习路线图。从基础到高级,提供实用链接参考!
Github中的 Markdown 链接
参考《高级 JavaScript 概念:JavaScript 幕后》
参考
- 
  备忘单:链接 
- 
  所有 JavaScript 详细信息:Javascript.info 
- 
  JavaScript 文档:MDN 文档 
- 
  书籍:Eloquent JS |你不知道的 JS 
基础知识
- 控制台日志记录
- 变量和数据类型(使用 var) 
  - 数字 - 浮点数和整数
- 字符串 - 用于文本
- 布尔值 - 真/假逻辑数据类型
- 未定义 - 没有值的变量的数据类型
- Null - 不存在
- JavaScript 是动态的:数据类型是自动分配的
- 驼峰式命名规范和命名约定
 
- 评论
- 变异(改变变量中的数据)和强制(数据类型转换)
- 数学运算符和逻辑运算符
  - + , - , * , / , %
- < 、 > 和 <= 、 >= ...
- 根据 Unicode 比较字母 ('a' < 'b')
- typeof& (== & ===)
- 运算符优先级和多重赋值
- 运算符速记
 
- 条件:如果否则,嵌套如果,如果否则如果
- 三元运算符
- Switch 语句
- 布尔逻辑:&&、||、!
- 
  真值和假值 - 假值: undefined 、 null 、 0 、 '' 、 NaN
- 真值:其他所有值在强制情况下都为真
 
- 
  循环与迭代 
- 
  For 循环 - While 循环
- 继续并中断
 
- 
  错误处理 - 扔
- 尝试、捕获
 
- 
  严格模式( "use strict")- 它捕获一些常见的编码错误并引发异常。
- 当采取相对“不安全”的操作(例如获取对全局对象的访问权限)时,它会阻止或引发错误。
- 它会禁用那些令人困惑或考虑不周的功能。
 
功能
- 基本函数(声明、返回数据) 
  - 函数语句(直接声明)和
- 函数语句在执行时返回 Undefined(if、while、函数声明)
- 函数表达式(使用变量)
- 函数表达式总是返回一个值(typeof、变量函数、2+3)
 
- 默认参数
- 回调函数- 函数作为参数 & 从函数返回函数
- IIFE - 立即调用函数表达式 
  - 在括号中包含一个匿名函数,然后同时调用它
- 仅返回的内容是可访问的、抽象的和封装的。
 
- 闭包
  - 内部函数始终可以访问其外部函数的变量和参数,即使在外部函数返回之后也是如此。
- 它的工作原理是作用域链是一个指针,所以即使函数已经在执行堆栈中返回,作用域链仍然可以访问外部函数的变量。
 
- 参数对象
- 内置字符串方法(indexOf、startsWith、substring)
- 内置数字方法(MATH 对象)
- 其他有用的内置功能:
  - 日期函数
- 拆分和合并功能
- 设置超时
- 解析整数
 
数组
- 基本数组(声明)
- New Array ()句法
- 数组属性:长度、索引
- 数组方法:pop、push、shift、unshift
- 迭代数组:for...of,,for...in每个,映射
- 搜索数组:indexOf , find , findIndex
- 过滤数组:filter、reduce
- 数组排序:sort
- 改变数组:拆分和连接函数
- 有用的数组函数:splice、slice、concat、reverse、every、some
对象和属性
- 基本对象(声明、访问、变异) 
  - new Object()语法
- 对象中的函数(是方法)
 
- 原型和原型链
  - 原型是可以继承的对象的方法
- 每个继承的对象都可以访问其父类的原型
- 因此,我们将那些希望其他对象继承的方法写在原型中
- 构造函数的原型也是其所有实例的原型
- object.property我们可以使用或检查原型- object.__proto__
- hasOwnProperty让我们知道该财产是否被继承
- instanceOf可以用来检查什么是什么的实例
 
- 构造函数——用作创建多个对象的蓝图
- 
  构造函数——用于初始化每个实例的对象数据 - 使用函数创建构造函数
- 惯例是保持构造函数的首字母大写
- this使用语句为对象变量赋值
- 使用创建新对象new constructorName()并将其分配给变量
- 我们可以使用创建原型,object.prototype
- 我们可以通过使用call带有父构造函数参数的方法来继承其他构造函数
- 构造函数也可以使用来创建Object.create,我们首先指定原型,然后指定数据
- Object.create(parent.prototype)可以继承父原型到子原型
 
- 
  原始类型和对象 - 原始类型直接保存数据(数字、字符串)
- 对象将数据指向其他对象(对象、数组)
- 在 JavaScript 中几乎所有事物都是对象
- 原语:数字、字符串、布尔值、未定义和 Null 不是。
- string.length当执行类似方法时,可以使用自动装箱将原始数据转换为对象
- 其他一切都是对象、数组、函数、对象……
 
- 
  两个对象只有占用相同的内存空间和位置才相等,无论键和属性如何,它们都不会相等。 
- 
  绑定、致电并申请 - 可以使用 Call 来给出不同的 this 指针并立即调用函数
- Apply ,与 call 相同,但参数只能作为数组传递
- 将 、 设置this和其他参数绑定到函数,然后提供函数,以便稍后可以使用这些参数调用它
 
文档对象模型 (DOM)
- DOM
  - HTML 的结构化表示
- DOM 将网页连接到 JS 等脚本
- 对于每个 HTML 框,DOM 中都有一个我们可以访问和交互的对象
 
- DOM方法- querySelecor、getElementById
- 事件监听器- 存储,UI监听器(鼠标)
- 数据存储CRUD - 本地存储
- window.location- 分配,哈希
- 窗口- 内部宽度、内部高度、控制台、文档、addeventlistner(在多个选项卡上工作)
ES6+
- let 和 const
  - 仅是块作用域(任何块 if、while),而普通 var 仅是函数作用域
- 不能在声明之前使用,而 var 给出未定义的值
- 在 es6 中,IIFE 可以在块 {} 中创建,无需变量
 
- 模板字符串
- 箭头函数(词汇 this 关键字功能)
- 解构:{ name , length } = object,[name , length] = array
- 展开运算符:展开数组、对象
- 剩余参数
- 地图:与对象相同,但键可以是数字,函数可以是任何东西 
  - 我们可以循环遍历它们
- 功能:获取、设置、大小、具有、删除、清除、条目
 
- Class:es5 构造函数和继承的语法糖 
  - 类构造函数
- 类方法
- 子类、超级类和扩展类
- Getter 和 Setter
 
异步 JavaScript
- 异步函数可以在后台运行
- HTTP 请求和响应(旧方法) 
  - XMLhttprequest,- readystatechange
- 就绪状态,打开,发送
 
- 承诺
  - 跟踪某个事件是否发生的对象
- 确定事件发生后会发生什么
- 实现预期未来值的概念
- 4 个状态 = 待处理 -> 已解决/已解决 -> 已完成、已拒绝
- 检查:解决、拒绝、
- .then使用&执行操作- .catch
- Promise 链
 
- 使用 Async/Await 的另一种方式来消费承诺 
  - 我们可以使用 await 给出的响应承诺来检查和捕获错误。
 
- Fetch Api - 提供可使用 Async/await 或承诺使用的承诺
- Axios - fetch 的替代方案,直接返回 JSON 格式的数据
- API——应用程序编程接口(远程服务器有一部分作为 API 工作)
- JSON - JavaScript 对象表示法(json 函数在 js 中内置可用)
- AJAX - 异步 Javascript 和 XML
- 跨起源
这只是您 JavaScript 之旅的开始,还有更多的东西等待探索!
参考《高级 JavaScript 概念:JavaScript 幕后》
文章来源:https://dev.to/zinox9/road-map-to-study-javascript-4o3c
 后端开发教程 - Java、Spring Boot 实战 - msg200.com
            后端开发教程 - Java、Spring Boot 实战 - msg200.com