编程语言:JavaScript
Draft.js 在知乎的实践
Draft.js 适合用来解决知乎 Web 端富文本相关的问题,场景包括:
- 提问/回答/写文章这类带格式、段落的文本;
- 支持 @、超链接的评论;
- 支持换行的个人简介、私信。
JavaScript 中如何实现大文件并行下载?
在 JavaScript 中如何实现并发控制? 这篇文章中,阿宝哥详细分析了 async-pool 这个库如何利用 Promise.all 和 Promise.race 函数实现异步任务的并发控制。本文阿宝哥将介绍如何利用 async-pool 这个库提供的 asyncPool 函数来实现大文件的并行下载。
相信有些小伙伴已经了解大文件上传的解决方案,在上传大文件时,为了提高上传的效率,我们一般会使用 Blob.slice 方法对大文件按照指定的大小进行切割,然后在开启多线程进行分块上传,等所有分块都成功上传后,再通知服务端进行分块合并。
那么对大文件下载来说,我们能否采用类似的思想呢?在服务端支持 Range 请求首部的条件下,我们也是可以实现多线程分块下载的功能。
浅探 Web Worker 与 JavaScript 沙箱
探索基于 Web Worker 实现 JavaScript 沙箱隔离方案过程中的一些资料收集、理解以及我的踩坑和思考的过程。
用 65 行代码实现 JavaScript 动画序列播放
最近在给学生上课,上周六的第一堂课是关于 JavaScript 动画的内容,其中包括一些简单的动画,比如匀速或者匀加/减速的运动,也包括复杂一些的组合动画。而动画的基本原理,在我之前的文章[1]已经有了详细的介绍。在这里,我想谈一谈的是,我们可以如何针对现代浏览器设计更加简单的 API,来实现动画的序列播放。
图文并茂讲清楚 JavaScript 内存管理
大多数讲JS内存管理的文章都大同小异(无非到处抄下堆和栈的定义),但这篇文章图文并茂,还有结合了内存泄露问题一起阐述,还有些新意。
用JS解释JS!详解AST及其应用
当我们查看目前主流的项目中的 devDependencies,会发现各种各样的模块工具。归纳一下有:JavaScript转译、css预处理器、elint、pretiier 等等。这些模块我们不会在生产环境用到,但它们在我们的开发过程中充当着重要的角色,而所有的上述工具,都建立在 AST 的基础上。
浅析JavaScript函数式编程
随着React的流行,函数式编程在前端领域备受关注。尤其近几年,越来越多的类库偏向于函数式开发:lodash/fp,Rx.js、Redux的纯函数,React16.8推出的hooks,Vue3.0的composition Api...同时在ES5/ES6标准中也有体现,例如:箭头函数、迭代器、map、filter、reduce等。
关于 JavaScript Object.keys() 排序问题的探索
由业务 bug 引发的疑问-- Object.keys() 的排序机制是什么样的?
使用JavaScript开发一个Photoshop插件
本文将引导大家使用JavaScript开发一个Photoshop插件。
JavaScript 事件循环:从起源到浏览器再到 Node.js
为什么是事件循环?事件循环是什么?浏览器与 Node.js 的事件循环差异......
京东扫描平台EOS—JS扫描落地与实践
京东零售在检查前端编码规范及编码质量过程中的一些实践。
设计一个JavaScript插件系统
软件的扩展性
谈谈微前端领域的js沙箱实现机制
微前端领域核心技术解析,那些巧妙的沙箱设计
如何打造一款标准的JS SDK?
设计原则及实现技巧。
秒懂Javascript浮点数精度缺失原理
本文探究了javascript浮点数精度损失的原因,并针对因浮点数精度损失造成的问题给出了些许解决方案。
How to Detect Idle Browser Tabs with JavaScript
Using the Page Visibility API.