V8引擎中的Ignition和TurboFan

V8引擎的即时编译(JIT)策略显著提高了从JavaScript生成可执行代码的速率(编译器TurboFan的功劳),我们有必要对这个机制有基本的认识,从而避免写出一些影响性能的代码。

V8引擎中的Ignition和TurboFan
重新学习TypeScript(基础)

TypeScript已经取代直接使用JavaScript,成为中大型前端项目开发的首选语言。一句话,静态类型写起来就是爽!鉴于自己从业以来并没有系统性地跟随某项课程学习过TypeScript,对其的了解是从项目和文档中逐步获取的,因此在知识体系方面可以说是比较差劲,因此有必要系统性地去重新学习一遍TypeScript。

重新学习TypeScript(基础)
Webpack上手(入门)

本文首先从Webpack开始,再认识一下这个前端程序员的老朋友。今天几乎所有前端项目都会采用TypeScript开发,采用模块化的代码组织方式,使用React这样的单页应用框架。在工作中我接触到的几乎所有项目都选择Webpack作为构建工具。Webpack本身也有着优秀的设计思想,抛开工具用途外,也很值得我们每一个程序员学习。

Webpack上手(入门)
leaflet做线条吸附效果

笔者在某电动三傻自驾中心地图部做前端开发工作,主要内容是基于leaflet开发一些供公司内部使用的地图工具平台软件。在工作中遇到几次需要在地图上实现将某个绘制的线条(polyline)吸附到最近的某条线条(polyline)上的功能。这里总结一个比较通用的,较为基础的方案,方便后续遇到类似问题能够快速解决。

leaflet做线条吸附效果
手写JS深拷贝

JavaScript并没有提供深拷贝的标准API,虽然在开发中深拷贝的场景并不很常见,但是手写JS深拷贝函数却是前端面试中常见的问题。

手写JS深拷贝
Intersection Observer API

最近参加了字节的面试,二面面试官问了一个关于如何判定当前元素进入用户视口的问题。当时回答并不能让面试官满意。事后查阅了文档,知道了Intersection Observer API,它提供了元素可见检测的好方法。

Intersection Observer API
More