最近还在学习 ES6,虽然 TC39 终于把当年的 Harmony 方案标准化, JS 作者也沉冤得雪,但仔细读 ES6 所带来的所有新特性,仿佛在别的语言中也都有类似的身影。 在学习新语言的过程中,也很容易一不小心陷入之前在别的语言学习中犯的错误。

因为平时在写代码的时候,关注点大多集中在逻辑结构、算法优化、模块封装等等上面, 很少去关注内存管理。因为被 V8 惯坏了,不像以前写 C++ 这种手动管理内存的语言时那么谨慎了。

昨天读到 ES6 的 WeekSetWeekMap 时,突然意识到内存管理还是很有必要好好理清一下的, 毕竟现在前端工程越做越大,最近做的两个移动端项目,自己写的模块也都有二十来个了。 尤其是现在流行的 SPA 方案,更是加强了对内存管理的重视程度。 移动端最重要的事情就是速度优先、性能优先。我们谈前端性能优化,也正是在着力解决网络、内存、CPU、DOM 这几个核心点。 今天来好好理一理 JavaScript 的内存管理,随着以后的学习再继续逐渐完善内存管理的知识。

======== 唔系分割线 ========