2016年09月
07日16:27

JavaScript - 如果...没有方法

如果js没有原生方法 Math.round() , 我们如何去实现呢 ?

有哪些脑洞大开的代码去实现呢?

看了这些代码也许你也会和我一样

有种回家找家影楼给别人撒撒花,扬扬裙摆,送送快递的想法

07日17:09

JavaScript 下的 setTimeout(fn, 0) 意味着什么?

近期在研究异步编程的我对于 setTimeout 之类的东西异常敏感

有人读到一篇文章,解释 setTimeout 延迟时间为 0 时会发生的事情,然后提出了几个文章的疑点

读了那篇文章之后发现原文的作者对于 setTimeout 的理解和自己的认知有点出入

于是编写了相关测试的代码以求答案

最终编写了这篇文章

2016年10月
01日00:42

co.js - 让异步代码同步化

对于异步代码来说,回调函数是最基础的方案,带来的弊端也显而易见

Promise 让代码扁平化,而 co 让代码同步化

2017年08月
29日18:05

有了 indexOf,为什么 ECMAScript 7 还添加了 Array.prototype.includes

最近又看了下 ECMAScript 7 规范,看到新的规范中包含了 Array.prototype.includes(),用于检测数组中是否包含某个元素

想到了 Array 其实有很多相关 API 可以检测到是否包含某个元素

于是好奇为什么要实现这样一个 "看起来功能有点重复的 API"

2018年01月
18日13:27

JavaScript 中的 task queues

JavaScript 是单线程的,所有的任务都放在 "任务队列" 中,从而衍生了 event loops 机制

我们这次要讨论的,则是 event loop 的背后:

task queues 和异步任务 API 的执行细节

2018年09月
03日20:41

Web 前端解决方案指南 - 社区的演变

今日的 web 和几年前的 web 已经演变了很多,多变而又复杂

从过去传统局限在前后一体,逐渐进化到今天技术繁多

一直延伸到 webapp,SSR 甚至发展到客户端