本期导读:本期我为大家带来两篇原创文章:一篇JavaScript中使用自然语言,为大家开豁一下前端眼界,一篇jsrsa前端加签实践,这个jsrsasign-latest-all-min.js库涵盖了大多数前端加密加签的应用。语言基础专题为大家带来阮老师的JavaScript内存泄漏教程,还有来自AlloyTeam的JS定时器与执行机制解析、Canvas绘制列表。工具框架推荐大家阅读Babel的原理与React PWA如何消除各类性能瓶颈。文末是使用WebGL实现的水面特效实验,欢迎赏鉴。
原创专题
1) Nlp_compromise在JavaScript中使用自然语言 @吴掌雄
NLP自然语言处理,涌现了很多技术框架,当中不乏前端JavaScript实现的框架:nlp-compromise.js,本文为大家介绍自然语言处理的基本原理与nlp-compromise.js的调用例子,以及应用场景。
2) jsrsa前端加签实践 @吴掌雄
对于前端JavaScript加签方法有很多种,本文为大家分享一下调用jsrsasign-latest-all-min.js库实现jsrsa加签,以及如何把该js库迁移到微信小程序上运行。
语言基础
1) JavaScript 内存泄漏教程 @阮一峰
什么是内存泄漏?
程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。
2) JavaScript定时器与执行机制解析 @TAT.云中飞扬
浏览器(或者说JS引擎)执行JS的机制是基于事件循环。
由于JS是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行。
为了避免因为某些长时间任务造成的无意义等待,JS引入了异步的概念,用另一个线程来管理异步任务。
3) Canvas绘制列表的尝试 @TAT.Cson
为什么尝试使用Canvas绘制列表?使用canvas绘制列表的好处在于页面只有一个dom元素,这样对于大量dom元素组成的列表来说,无疑更节省页面内存。
本文将一步一步分析,如何实现一个canvas绘制的长列表。
工具框架
1) 剖析Babel——Babel总览 @TAT.dorsywang
Babel使用的引擎是babylon,babylon并非由babel团队自己开发的,而是fork的acorn项目,acorn的项目本人在很早之前在兴趣部落1.0在构建中使用,为了是做一些代码的转换,是很不错的一款引擎,不过acorn引擎只提供基本的解析ast的能力,遍历还需要配套的acorn-travesal, 替换节点需要使用acorn-,而这些开发,在Babel的插件体系开发下,变得一体化了
2) 大型高性能React PWA如何消除各类性能瓶颈? @尾尾
本文旨在帮助读者了解,在全球规模最大的React.js PWA之一——Twitter Lite当中,是如何消除各类常规与罕见之性能瓶颈的。
前端视界
1) Surface @小鱼
使用WebGL实现的水面特效实验,可放入一张照片,使用鼠标触动水面会有奇特效果。