学习 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