现代 CSS

JavaScript

【转载】最后谈一次 JavaScript 异步编程

对于 JavaScript 的异步编程我们早就谈得太多了,我们为了处理 Callback Hell 问题已经做了太多太多了,从 Promise 到 generator 再到 async/await ,JavaScript 这个惊天巨坑算是勉强填完了。关于 Promise 、 generator 以及 aysnc/await 这些具体的技术怎么用,这里就不细谈了,我们更多谈谈 “形而上” 的东西。

【转载】JavaScript异步进化史

JS 中最基础的异步调用方式是 callback,它将回调函数 callback 传给异步 API,由浏览器或 Node 在异步完成后,通知 JS 引擎调用 callback。对于简单的异步操作,用 callback 实现,是够用的。但随着负责交互页面和 Node 出现,callback 方案的弊端开始浮现出来。 Promise 规范孕育而生,并被纳入 ES6 的规范中。后来 ES7 又在 Promise 的基础上将 async 函数纳入标准。此为 JavaScript 异步进化史。

【转载】JavaScript异步编程原理

众所周知,JavaScript 的执行环境是单线程的,所谓的单线程就是一次只能完成一个任务,其任务的调度方式就是排队,这就和火车站洗手间门口的等待一样,前面的那个人没有搞定,你就只能站在后面排队等着。在事件队列中加一个延时,这样的问题便可以得到缓解。

【转载】异步函数:提高 Promise 的易用性

Chrome 55 中默认情况下启用异步函数,坦率地讲,它们的作用相当不可思议。 可以利用它们像编写同步代码那样编写基于 Promise 的代码,而且还不会阻塞主线程。 它们可以让异步代码“智商”下降、可读性提高。

JavaScript异步函数

JavaScript的主要优势之一就是任何事情都是异步的。在大多数情况下,不同部分的代码不会影响共他的代码执行。

理解动画中的线性插值

在传统(手绘)一个高级动画或者动画艺术家都喜欢绘制关键帧来定义一个动画。现场传递给助理,一般是实习生或者初级艺术家在此基础上做一些其他性的工作,具体的说,他们就是在关键帧动画之间添加一些中间片段让动画看起来更流畅,更自然。还记得在小学的时候,老师告诉你电脑是笨蛋吗?电脑需要被告知一系列的确切步骤,他们才知道需要做什么。今天我们来看看这一序列的步骤或算法,帮助计算机绘制动画关键帧之间必要的中间画。

线性插值

最近在看Canvas的一些动画实例当中,时常看到lerp()这个函数,一直以来并不知道这个函数起什么作用,有什么特性。今天花了一些时间,Google了一下,才知道这个函数是线性插值。那么线性插值是个什么鬼?他在一些程序中又起啥作用?这就是这篇文章要探讨和学习的。

你所不知道的setTimeout

JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()setInterval()这两个函数来完成。它们向任务队列添加定时任务。初始接触它的人都觉得好简单,实际上真的如此么?这里记载下,一路对其使用姿势变迁的历程。

如何成为一位函数式编程爱好者(Part 6)

既然你已经学会了所以的新东西,可能就会想了,“现在该做什么?如何将它用在我每天的编程中使用它?”这要视情况而定。如果你能使用像 Elm 或 Haskell 这样的纯函数语言,你就可以尝试全部想法。而且在这些语言中实现起来很方便。如果你只能使用像 JavaScript 这样的指令式语言,而且大多数肯定都是,仍然可以使用很多前面学到的知识,但将需要大量的规则。

谁说JavaScript容易?

这里有一些JavaScript初学者应该知道的技巧和陷阱。 如果你已经是一个专家,那就随意阅读。

页面

返回顶部