博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云前端周刊 - 第 25 期
阅读量:6202 次
发布时间:2019-06-21

本文共 1792 字,大约阅读时间需要 5 分钟。

摘要:
## 推荐 ### 1. Chrome 61 新特性介绍 https://developers.google.com/web/updates/2017/09/nic61 Chrome 61 中即将原生地支持 JavaScript 模块,意味着开发者可以不用 Babel 等转换器即直接在浏览器中运行模块化代码。除此之外,Chrome 61 还允许开发者使用 navigator.sh

推荐

1. Chrome 61 新特性介绍

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

2. Yarn 1.0 发布

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

3. TypeScript 与 Webpack 的激情碰撞

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

4. V8 中的 Fast 属性

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

其它

1. 探索编码的世界

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

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

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

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

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

4. 浮点数的渲染

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

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

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

转载地址:http://juaca.baihongyu.com/

你可能感兴趣的文章