- 博客(63)
- 收藏
- 关注

原创 什么是《现代 JavaScript 教程》?
现代 JavaScript 教程是React 官方文档中与 MDN 并列推荐的 JavaScript 学习教程。这是一个开源的免费教程,并没有出版成书籍,暂时也没有准备出版成纸质书籍。...
2020-10-04 18:56:52
1055
原创 正则表达式系列之 —— 模式(Patterns)和修饰符(flags)
本号是《现代 JavaScript 教程》[1]官方微信公众号模式和修饰符正则表达式是提供了一种在文本中进行搜索和替换的强大的方式的模式。在 JavaScript 中,我们可以通过 RegExp[2] 对象使用它们,也可以与字符串方法结合使用。正则表达式正则表达式(可叫作 "regexp",或 "reg")包扩 模式 和可选的 修饰符。有两种创建正则表达式对象的语法。较长...
2022-08-09 12:22:37
1147
原创 正则表达式系列之 —— Unicode:修饰符 "u" 和类 \p{...}
本号是《现代 JavaScript 教程》[1]官方微信公众号Unicode:修饰符 "u" 和类 \p{...}JavaScript 对字符串使用 Unicode 编码[2]。大多数字符使用 2 个字节编码,但这种方式只能编码最多 65536 个字符。这个范围不足以对所有可能的字符进行编码,这就是为什么使用 4 个字节对一些罕见的字符进行编码,比如 ????(数学符号 X)或...
2022-08-08 18:03:56
2333
原创 正则表达式系列之 —— 字符类
本号是《现代 JavaScript 教程》[1]官方微信公众号字符类考虑一个实际的任务 —— 我们有一个电话号码,例如 "+7(903)-123-45-67",我们需要将其转换为纯数字:79031234567。为此,我们可以查找并删除所有非数字的内容。字符类可以帮助我们实现它。字符类(Character classes) 是一种特殊的符号,匹配特定集合中的任何符号。首先,...
2022-08-05 17:08:28
734
原创 JavaScript 数据类型 —— number 类型详解
本号是《现代 JavaScript 教程》[1]官方微信公众号数字类型在现代 JavaScript 中,数字(number)有两种类型:JavaScript 中的常规数字以 64 位的格式 IEEE-754[2] 存储,也被称为“双精度浮点数”。这是我们大多数时候所使用的数字,我们将在本章中学习它们。BigInt 用于表示任意长度的整数。有时会需要它们,因为正如我们在前面...
2022-07-27 11:53:51
3066
原创 Cookie 从入门到进阶:一文彻底弄懂其原理以及应用
来自秦一授权的分享Cookie 是什么?Fortune cookieCookie,它的名字源自一种叫 Fortune cookie 的饼干,这种饼干里面有一张写着精辟句子的小纸条。在浏览器...
2022-03-16 09:24:58
491
原创 前端进阶路线分享
本文会跟随技术发展和我个人技术水平的提升定期更新。上次更新时间:2021 年 03 月 27 日。在本公众号后台回复「入门」或「进阶」即可获取最新版前端学习路线。我经常会看到很多同学在学习...
2021-03-28 08:36:00
3305
原创 【开奖】犀牛书获奖名单,留言开通成功,有奖征集意见赠书!
在 25 号的「点赞 + 在看」抽第七版犀牛书的活动公众号迁移说明,并送两本强势回归的 JS 犀牛书第七版中,截至开奖时间,共有 139 位同学参与,但只有加了我好友的,我才能看到是谁...
2021-03-27 11:23:40
192
原创 学文同学的 2020 年度总结
前言这是我第一次正经写年度总结,之前一直有这个想法,但却没认真实践。希望今后每年自己都能通过年度总结的方式,对一年来的学习、工作、生活和成长进行回顾,为下一年做出规划和展望。我是谁我是学文...
2021-02-11 13:56:46
297
原创 JavaScript 页面资源加载:onload,onerror
资源加载:onload,onerror浏览器允许我们跟踪外部资源的加载 —— 脚本,iframe,图片等。这里有两个事件:onload —— 成功加载,onerror —— 出现 err...
2021-02-01 08:16:00
795
原创 JavaScript 事件循环 —— 微任务 Microtask
微任务(Microtask)Promise 的处理程序(handlers).then、.catch 和 .finally 都是异步的。即便一个 promise 立即被 resolve,....
2021-01-18 08:16:00
421
原创 VS Code 学习利器 —— 前端每日一题插件
本文作者 @rottenpen,酷家乐前端工程师本文经作者授权发布,欢迎转载前言其实这个插件的第一版,我已经写了很久。当时正值国庆,也没啥事,不如就来补一下已经荒废了很久的 VS Cod...
2021-01-12 08:16:00
920
原创 你不知道的 DOM 变动观察器:Mutation observer
DOM 变动观察器(Mutation observer)MutationObserver 是一个内建对象,它观察 DOM 元素,并在检测到更改时触发回调。我们将首先看一下语法,然后探究一...
2021-01-05 08:16:00
513
原创 图解 JavaScript 事件循环:微任务和宏任务
事件循环:微任务和宏任务浏览器中 JavaScript 的执行流程和 Node.js 中的流程都是基于 事件循环 的。理解事件循环的工作方式对于代码优化很重要,有时对于正确的架构也很重要...
2020-12-29 08:16:00
248
原创 GitHub 2020 报告:全球开发者工作与生活平衡情况年度分析
GitHub 在 2020 年底发布了 2020 年社区和开发者报告[1]。主要包括全球开发者工作与生活平衡情况,赋能社区健康和全球软件安全报告三个部分,本文分享的是全球开发者工作与生活...
2020-12-24 08:16:00
640
原创 页面生命周期:DOMContentLoaded,load,beforeunload,unload
DOMContentLoaded,load,beforeunload,unloadHTML 页面的生命周期包含三个重要事件:DOMContentLoaded —— 浏览器已完全加载 HT...
2020-12-16 08:16:00
1603
原创 学习 async,defer 和动态脚本,本文就够了!
脚本:async,defer现代的网站中,脚本往往比 HTML 更“重”:它们的大小通常更大,处理时间也更长。当浏览器加载 HTML 时遇到 <script>...</...
2020-12-10 08:16:00
179
原创 JavaScript 中 Eval 函数的前世今生,执行代码字符串
Eval:执行代码字符串内建函数 eval 允许执行一个代码字符串。语法如下:letresult=eval(code);例如:letcode='alert("...
2020-12-05 08:16:00
463
原创 一文讲懂什么是函数柯里化,柯里化的目的及其代码实现
柯里化(Currying)柯里化(Currying)[1]是一种关于函数的高阶技术。它不仅被用于 JavaScript,还被用于其他编程语言。柯里化是一种函数的转换,它是指将一个函数从可...
2020-12-03 08:16:00
1547
原创 详解 JavaScript 的属性标志和属性描述符
属性标志和属性描述符我们知道,对象可以存储属性。到目前为止,属性对我们来说只是一个简单的“键值”对。但对象属性实际上是更灵活且更强大的东西。在本章中,我们将学习其他配置选项,在下一章中,...
2020-11-26 08:36:00
455
原创 ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
Rest 参数与 Spread 语法在 JavaScript 中,很多内建函数都支持传入任意数量的参数。例如:Math.max(arg1, arg2, ..., argN) —— 返回入...
2020-11-25 08:36:00
733
原创 深入理解箭头函数,学习其非常特殊且有用的特性
深入理解箭头函数让我们深入研究一下箭头函数。箭头函数不仅仅是编写简洁代码的“捷径”。它还具有非常特殊且有用的特性。JavaScript 充满了我们需要编写在其他地方执行的小函数的情况。例...
2020-11-23 08:36:00
360
原创 对象方法和方法中的 "this"
对象方法,"this"通常创建对象来表示真实世界中的实体,如用户和订单等:letuser={name:"John",age:30}...
2020-11-19 08:36:00
1870
原创 带你手写一个对象,深入理解可迭代对象是什么,与类数组有什么区别
可迭代对象可迭代(Iterable) 对象是数组的泛化。这个概念是说任何对象都可以被定制为可在 for..of 循环中使用的对象。数组是可迭代的。但不仅仅是数组。很多其他内建对象也都是可...
2020-11-18 08:06:00
1958
原创 在 JavaScript 中,我们能为原始类型添加一个属性或方法吗?
原始类型的方法JavaScript 允许我们像使用对象一样使用原始类型(字符串,数字等)。JavaScript 还提供了这样的调用方法。我们很快就会学习它们,但是首先我们将了解它的工作原...
2020-11-17 08:12:00
283
原创 ES2020 系列:可选链 "?." 为啥出现,我们能用它来干啥?
可选链 "?."可选链 ?. 是一种访问嵌套对象属性的安全的方式。即使中间的属性不存在,也不会出现错误。“不存在的属性”的问题如果你才刚开始读此教程并学习 JavaScr...
2020-11-16 08:36:00
220
原创 从规范的角度解析对象 — 原始值转换
对象 — 原始值转换当对象相加 obj1 + obj2,相减 obj1 - obj2,或者使用 alert(obj) 打印时会发生什么?在这种情况下,对象会被自动转换为原始值,然后执行操...
2020-11-13 08:06:00
1551
9
原创 详解 JavaScript 构造函数和 "new" 操作符
构造器和操作符 "new"常规的 {...} 语法允许创建一个对象。但是我们经常需要创建许多类似的对象,例如多个用户或菜单项等。这可以使用构造函数和 "new&#...
2020-11-12 08:36:00
297
原创 从规范的角度看 this 丢失 —— 详解 Reference Type
Reference Type深入的语言特性本文所讲的是一个高阶主题,能帮你更好地理解一些边缘情况。这仅是锦上添花。许多经验丰富的的开发者不甚了了也过得不错。如果你想了解代码运行的本质,那...
2020-09-24 08:05:00
346
原创 送两本新版红宝书和几个现金红包,并谈谈我对这本书的看法和近况
本文主要包括三部分内容:送福利,我对新版红宝书的看法,我的近况。首先,直奔主题,那就是发福利,感谢大家一直以来的关注与支持。最近《JavaScript 高级程序设计(第四版)》出版了,所...
2020-09-16 15:32:08
643
原创 图解对象之:深拷贝与浅拷贝
对象拷贝,引用对象与原始类型其中一个基本的区别是:对象“通过引用的形式”被存储和拷贝。原始类型值:字符串,数字,布尔值 —— 被“作为整体”赋值/拷贝。例如:letmessage=...
2020-08-03 11:55:55
451
原创 ES2020 系列:全局对象 globalThis
全局对象全局对象提供可在任何地方使用的变量和函数。默认情况下,这些全局变量内置于语言或环境中。在浏览器中,它的名字是 "window",对 Node.js 而言,它的名字...
2020-07-29 08:33:00
1124
原创 ES2020 系列:新增基本数据类型 BigInt
BigIntBigInt 是一种特殊的数字类型,它提供了对任意长度整数的支持。创建 bigint 的方式有两种:在一个整数字面量后面加 n 或者调用 BigInt 函数,该函数从字符串、...
2020-07-25 08:34:00
1794
原创 ES2020 系列:可选链 "?."
可选链 "?."可选链 ?. 是一种访问嵌套对象属性的防错误方法。即使中间的属性不存在,也不会出现错误。问题如果你才刚开始读此教程并学习 JavaScript,那可能还没...
2020-07-23 08:32:00
1448
原创 ES2020 系列:空值合并运算符 '??'
空值合并运算符 '??'空值合并运算符 ?? 提供了一种简短的语法,用来获取列表中第一个“已定义”的变量(译注:即值不是 null 或 undefined 的变量)。a ...
2020-07-21 08:36:48
678
原创 LeetCode 1122. 数组的相对排序:JavaScript 计数排序解法
题目链接LeetCode1122: https://leetcode-cn.com/problems/relative-sort-array首先我们一起来看题目:解题思路这是一道排序的...
2020-07-02 17:40:00
331
原创 27. 移除元素:JavaScript 遍历和双指针两种解法
题目链接LeetCode 27: https://leetcode-cn.com/problems/remove-element/首先我们一起来看题目:方法一解题思路主要思路是遍历数组 ...
2020-07-01 19:33:31
386
原创 新手如何从零开始入门前端开发,分享我的学习方法!
我经常会看到很多同学在学习前端的时候比较迷茫,不知道到底应该以怎样的学习路线来入门和进阶前端领域。每次遇到这种问题我也会分享一下自己的学习经验,但是发现这是一个问得非常多的一个共性问题。...
2020-06-30 17:10:26
813
原创 167. 两数之和 II - 输入有序数组:JavaScript 双指针解法
题目链接LeetCode 167: https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/首先我们一起来看题...
2020-06-30 17:10:26
262
原创 React 核心概念:JSX,虚拟 DOM,Diff 算法,setState,state 和 props 梳理
本文主要梳理一下我对 React 框架基础内容的认识,之后也会总结一些深度内容的认识。当然,笔者水平也有限,如果你发现不妥之处,望斧正!为什么要用 React 等前端框架因为可以进行组件...
2020-06-28 09:05:00
759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人