252022.2
12:28

ES6 中的 WeakMap 和 WeakSet

WeakMap 和 WeakSet 是 ES6 新增的两个对象,根据 MDN 文档上的说法,它们的键必须是对象,并且键是弱引用的,会被浏览器垃圾回收机制回收。那么到底什么是弱引用,在什么情况下会被回收呢?要搞清这个问题,我们需要先简单的了解一下浏览器的垃圾回收机制。

WeakMapWeakSet垃圾回收标记清除弱引用
212022.2
17:59

JavaScript 继承的实现

在所有面向对象的编程语言中,继承都是一个非常重要的特性,继承有很多优点,比如实现逻辑复用,减少重复代码,节省内存空间,利于整体维护等。在 JS 中,也可以实现继承,对于有基于类的语言开发经验的人来说,JS 的继承可能会让人有点困惑,因为 JS 本身不提供类继承的实现,虽然在 ES6 中引入了 class 关键字,但只是语法糖,JavaScript 继承实际上仍然是基于原型的,那么原型是什么,继承又是如何实现的,今天我们来详细探讨下。

JavaScript继承原型继承构造函数继承组合继承寄生继承
102022.1
20:03

使用 Canvas 绘制光线飞过效果

经常在一些 Canvas 特效中看到光线飞过的效果,像流星一样拖着长长的尾迹,有时候光线还会沿着曲线运动,如下图的地图中,这种效果是如何实现的呢?今天我们来试着在 Canvas 中实现这种效果。

canvas飞线流星光线飞过贝塞尔曲线
42021.9
21:23

vite 中配置 proxy 代理 https

在做前端开发的时候,我们通常是启动一个 node server 方便调试代码,并且能够支持热更新,但后端提供的 api 接口往往在另一台服务器上,这时候,就需要用到代理(proxy)。

viteproxyhttps
182016.5
22:03

Canvas画图模糊问题及解决方法

使用canvas画图时经常遇到画出来的图形模糊、边框不清晰等现象,曾经为了解决这些问题走了很多弯路,浪费了大把时间,当然也积累了一些经验,今天就把这些问题总结出来。

canvas模糊