阿里云前端周刊 - 第 25 期

推荐

1. Chrome 61 新特性介绍

https://developers.google.com…

Chrome 61 中即将原生地支持 JavaScript 模块,意味着开发者可以不用 Babel 等转换器即直接在浏览器中运行模块化代码。除此之外,Chrome 61 还允许开发者使用 navigator.share 来触发 Android 原生的分享对话框,并且引入了 WebUSB 接口来访问受信的 USB 设备;

2. Yarn 1.0 发布

https://code.facebook.com/pos…

著名的 JavaScript 包管理器 Yarn 终于发布了其 1.0 版本,目前已经有超过 175000 个 Github 上的项目包含了 yarn.lock 文件,每个月有超过三十亿的下载量。在新版本中,Yarn 引入了工作空间、自动合并 lockfiles、可选择的版本解决等特性,并且进行了其他一系列的性能提升与错误修复等工作。

3. TypeScript 与 Webpack 的激情碰撞

https://medium.com/webpack/ty…

本文是 ts-loader 的核心维护者之一,分享的多个能提升 Webpack 中 TypeScript 使用体验的插件。fork-ts-checker-webpack-plugin 能够利用子进程来进行类型校验,HappyPack 则允许并发处理多个文件从而提升 Webpack 的编译速度,thread-loader 与 cache-loader 还能进一步提升编译速度;

4. V8 中的 Fast 属性

https://zhuanlan.zhihu.com/p/…

在这篇博客中,我们想解释 V8 如何在内部处理 JavaScript 属性。从 JavaScript 的角度来看,属性只有一些区别。JavaScript 对象主要表现为字典,字符串作为键名以及任意对象作为键值。然而,该规范在迭代过程中对整数索引(integer-indexed)属性和其它属性进行了不同的处理。

其它

1. 探索编码的世界

http://www.imhjm.com/article/…

本文从二进制编码讲起,到整数到小数,再到字符编码,中间穿插相应js代码,希望通过这次探索,能让读者对js大数/精度、乱码、node的Buffer等等有更进一步的理解,以及对计算机编码的认识更加深刻。

2. 使用 CSS 的 font-size-adjust 属性改善网页排版

https://github.com/xitu/gold-…

CSS 中的 font-size-adjust 属性允许开发者基于小写字母的高度指定 font-size ,这可以有效地提高网页文字的可读性。

3. CSS Filter 实现的融合动画效果

http://www.cnblogs.com/coco1s…

本文主要介绍 CSS 滤镜的不常用用法,希望能给读者带来一些干货!通过使用 高斯模糊+对比度 滤镜,实现有趣的融合效果,如随机的火焰燃烧效果。

4. 浮点数的渲染

https://zhuanlan.zhihu.com/p/…

一个有意思的现象,当使用 sticky position 定位的时候,如果它的同层上面元素的高度是浮点数的话,该定位在滑动过程中将会产生一个小的空白间隙。不同的浏览器对于小数的处理并不十分一致,现代浏览器大多采用智能补偿法来处理小数的布局。同时我们常用的 1px 并不是指的真实的 1 像素。比如在手机上 1px 渲染出来会比较粗,并不是手机分辨率的 1 像素。可以通过缩放来呈现真实的 1 像素,理解了小数的渲染规则,希望以后如果碰到相似的问题对你有帮助。

5. 奇技淫巧学 V8 之八,常量字符串

https://zhuanlan.zhihu.com/p/…

V8 为了最佳性能与最少内存使用将某些(如字面量构造的)字符串常量化。内容相同的常量字符串具有相同的引用(共享同一块老生代空间),在比较时直接比较引用(指针)是否相等即可,故拥有 O(1) 的比较性能。将字符串被设置为对象属性名时,会被尝试改造为常量化版本。V8 通过将字符串实例类型转换为 ThinString 并引用常量字符串来实现隐式就地转换。当缺少 ThinString 支持并且原始字符串又为引用类型表达时,会使用 ConsString(actual, empty_string) 来实现隐式就地转换。

    原文作者:Houfeng
    原文地址: https://segmentfault.com/a/1190000011213388
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞