认识包管理工具: npm、yarn和pnpm

12 月 2 日
阅读 10 分钟
760
2010 年 1 月,一款名为 npm 的包管理器诞生。它确立了包管理器工作的核心原则。npm 的发布诞生了一场革命,在此之前,项目依赖项都是手动下载和管理的。npm 引入了文件和元数据字段,将依赖项列表存储在 package.json 文件中,并且将下载的文件保存到 node_modules 文件夹中。后来因为 npm 的缺陷或者旧版本的不足,又...

字符编码系列: base64

4 月 1 日
阅读 3 分钟
924
「Base64」 是一种基于 64 个可打印字符来表示二进制数据的表示方法。由于 「2⁶ = 64」 ,所以每 6 个比特为一个单元,对应某个可打印字符。(回顾一下,我们之前介绍的 ASCII/Unicode 编码里都有不可打印字符)体验效果请戳这里 👉:Base64 编码/解码

字符编码系列: ASCII、UTF-8 和 Unicode

4 月 1 日
阅读 4 分钟
1.1k
我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有 0 和 1 两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从 00000000 到 11111111。上个世纪60年代,美国制定...

HTST 介绍

1 月 3 日
阅读 2 分钟
843
HSTS(HTTP Strict Transport Security 的简称) allows a site to request that it always be contacted over HTTPS

URL参数的格式化和解析

1 月 2 日
阅读 6 分钟
2.5k
传递 URL 参数是页面A与页面B通信时常用的方法。如:页面A是新闻列表页面,在点击某一条新闻的时候,需要带着新闻 ID 打开页面B新闻详情页面 pageB?id=${id},这样页面B就能根据解析 URL 上的 ID 获取具体的新闻详情了。

浏览器端错误捕获处理方法笔记

2023-06-02
阅读 2 分钟
1.2k
promise 被 rejected,在有 onRejected 的情况下,onRejected 发挥作用,catch 并未被调用;在没有onRejected 的情况下 catch 发挥作用

Object.assign vs Object Spread

2022-07-19
阅读 2 分钟
3k
在开发过程中,我们经常能看到 Object.assign 或 Object Spread,这两个方法都能帮助你得到想要的对象。有的人喜欢用Object.assign,有些人喜欢用 Object Spread,那么用哪一种比较好呢?这篇文章就是来探讨这个问题。

JS编程补充

2021-09-01
阅读 1 分钟
1.6k
编码二进制玩转前端二进制前端二进制代码演示

ECMAScript版本解读

2021-08-24
阅读 1 分钟
1.4k
介绍记录ES每年版本更新的内容解读,帮助读书快速理解新版本特性。这里有官方的文档:Stage 1 ProposalsStage 0 ProposalsFinished ProposalsInactive Proposals版本列表ES202010 New JavaScript Features in ES2020 That You Should Know

正则表达式校验汉字

2021-08-17
阅读 2 分钟
4.7k
背景IOS10下的汉字校验出现问题,使用的是汉字校验社区方案:/\p{Unified_Ideograph}/u⚠️以下用的'ji'表示汉字:社区方案 {代码...} 结论[\u4e00-\u9fd5]的匹配方式不能覆盖全部汉字即使使用[\u4e00-\u9fff]仍然不能覆盖全部\p{Unified_Ideograph} 和 \p{sc=Han} 两种社区方案可以覆盖全部你以为这样就完了吗?\p{Unified...

vue2.x 学习进阶

2021-08-17
阅读 3 分钟
1.6k
v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

typescript由入门到进阶

2021-08-17
阅读 35 分钟
2.5k
TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。

生成唯一ID的简单方法

2021-02-18
阅读 2 分钟
16.7k
可行方案1.生成[0,1)的随机数的Math.random {代码...} 2.获取当前时间戳Date.now {代码...} 3.将10进制转换为其他进制的字符串 Number.toString {代码...} 改进版本一:随机数  + toString()1.随机数版本  {代码...} 2.随机数版本16进制版本 {代码...} 3.随机数版本36进制版本  {代码...} 4.随机数版本36进制版本 {代码....

你不知道的TypeScript

2021-01-13
阅读 8 分钟
2.7k
枚举简单枚举 {代码...} 编译成JS: {代码...} 结果: {代码...} 数字枚举和字符串枚举 {代码...} 开放枚举 {代码...} Color: {代码...} 重复枚举的字段前面的被后面的覆盖,不重复枚举的会合并成一个枚举类型辨析联合类型TypeScript 可辨识联合(Discriminated Unions)类型,也称为代数数据类型或标签联合类型。它包含...

JS运算符优先级

2020-08-06
阅读 2 分钟
1.3k
文档优先级 运算类型 关联性 运算符 20 圆括号 n/a(不相关) ( … ) 19 成员访问 从左到右 … . … 需计算的成员访问 从左到右 … [ … ] new (带参数列表) n/a new … ( … ) 函数调用 从左到右 … ( <var>… </var>) 可选链(Optional chaining) 从左到右 ?. 18 new (无参数列表) 从右到左 new … 17 后置递增(运...

Code Review效率工具

2020-05-18
阅读 2 分钟
2.4k
在code review的时候,代码风格是其中审查的指标之一。在审查代码风格其实是有一定工作量的。为了减少代码审查的工作量,我们何不把代码风格在提交代码之前就规范掉?这样我们就可以在代码审查中节约出很多时间,来做更多的其他更有意义的事情。

10 New JavaScript Features in ES2020 That You Should Know

2020-05-14
阅读 8 分钟
2.3k
Good news – the new ES2020 features are now finalised! This means we now have a complete idea of the changes happening in ES2020, the new and improved specification of JavaScript. So let's see what those changes are.

模块化-CommonJS·AMD·CMD·UMD·ES6

2020-04-08
阅读 6 分钟
2.7k
Nodejs的模块规范受到了CommonJS的影响,但Nodejs支持使用module.exports导出对象,而CommonJS只使用exports。CommonJS模块在未经编译前无法使用。示例如下:

装饰者模式的应用:react高阶组件和ES6 装饰器

2018-11-21
阅读 14 分钟
6.9k
Component:装饰者和被装饰者共同的父类,是一个接口或者抽象类,用来定义基本行为ConcreteComponent:定义具体对象,即被装饰者Decorator:抽象装饰者,继承自Component,从外类来扩展ConcreteComponent。对于ConcreteComponent来说,不需要知道Decorator的存在,Decorator是一个接口或抽象类ConcreteDecorator:具体装...

解决JS文件引用路径多层查找

2018-10-11
阅读 2 分钟
5.8k
一 问题 路径结构 0 {代码...} 如过0-1-2-0-0里面的文件引用0-2-0里面的文件:(1)相对路径写法 {代码...} (2)绝对路径写法 {代码...} 使用相对路径引用每次引用都要花费精力写很长的路径查找;而使用绝对路径会有安全性的问题(test) 二 解决方案 1. webpack alias {代码...} Question:如果使用了ESlit,ESlint无法识...

Tasks, microtasks, queues and schedules(译)

2018-05-10
阅读 9 分钟
4.5k
一直想对异步处理做一个研究,在查阅资料时发现了这篇文章,非常深入的解释了事件循环中重的任务队列。原文中有代码执行工具,强烈建议自己执行一下查看结果,深入体会task执行顺序。建议看这篇译文之前先看这篇全面讲解事件循环的文章:[链接]翻译参考了这篇文章的部分内容:[链接]

Javascript 对象那些事(持续更新)

2018-04-27
阅读 1 分钟
1.7k
这个问题很多人都应该知道。解决的办法也很多:1) 使用hasOwnProperty(attr) 来取自有属性的值2) 使用Object.keys(object) 来取得所有的自有属性key,然后object[key]来取得value

axios入门实践

2017-12-27
阅读 7 分钟
8.2k
本文适合刚接触axios或者使用过几次的同学来分享交流一些入门经验,本文同样适用熟悉axios的同学来作为参考手册。默认你已经看过axios的相关文档:axios文档 GitHub,通过文档了解基础的使用之后,接下来你可以进入正文。

创建对象(二):回顾与思考之继承

2017-11-09
阅读 1 分钟
1.4k
如果实例b或者B发生任何变化都会影响到A,并且影响到由A创建出的示例。这样的情况并不科学。我们应该是只是继承B的原型 如果还想使用B的自有方法,应该通过super方法添加到a的自有属性上。这样即实现了继承有实现了解耦。

JS类型(三):JS类型检查

2017-11-02
阅读 3 分钟
3.3k
那么在实际的操作中,我们应该如何选择使用呢?每种方法都是可以的嘛?这篇文章就带哦你全面分析这三种类型检测的方法,助你掌握JS类型检查的知识。

JS类型(二): JS 类型转换

2017-10-26
阅读 3 分钟
1.9k
在第一篇文章中,讲解了 关于“==”时,JS做的类型转换。从第一篇文章中可以发现 == 时,基本类型都朝着数字类型转换,还是贴出上篇文章的图:

对Promise的学习总结与思考

2017-10-14
阅读 1 分钟
1.7k
调用resolve(1)以后,后面的console.log(2)还是会执行,并且会首先打印出来。这是因为立即 resolved 的 Promise 是在本轮事件循环的末尾执行,总是晚于本轮循环的同步任务。一般来说,调用resolve或reject以后,Promise 的使命就完成了,后继操作应该放到then方法里面,而不应该直接写在resolve或reject的后面。所以,最...

JS类型(一):深入讨论“==”与“===”

2017-10-09
阅读 3 分钟
1.7k
1. "=="指的是数值的相等。即使类型不一致,转化后的值相等,还是返回true2. "==="指的是类型和数值都相等,如果类型不一致就直接呵呵了

react项目开发教程总览

2017-08-20
阅读 1 分钟
2.5k
关于这一系列文章的由来,我要做一个详细的说明,这些都在正文里面。关于代码的托管地址,请戳这里:GitHub关于开源代码的使用:免费用于个人、教育学习研究使用,如果有商业用途,请及时联系

javascript设计模式(Alloy Team)

2017-05-02
阅读 11 分钟
2.3k
(1)首先要指定好谁充当发布者(2)然后给发布者添加一个缓存列表,用于存放回调函数以便通知订阅者(3)最后发布消息的时候,发布者会遍历这个缓存列表,依次触发里面存放的订阅者函数