前端开发者学堂 - fedev.cn

    【转载】最后谈一次 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 的执行环境是单线程的,所谓的单线程就是一次只能完成一个任务,其任务的调度方式就是排队,这就和火车站洗手间门口的等待一样,前面的那个人没有搞定,你就只能站在后面排队等着。在事件队列中加一个延时,这样的问题便可以得到缓解。

    CSS局部变量

    CSS自定义属性也被称为CSS变量。这是非常令人兴奋的,因为我们在CSS中终于拥有真正的变量。什么意思,真正的变量?我的意思是可以动态更新和修改变量。虽然CSS处理器有了变量(Sass和PostCSS),这些变量通过编译变成了CSS,但没有动态能力更新其变量。这不是真正的CSS变量,只是用来存储和更新可用的值。

    发布于

    CSS的状态

    JavaScript越来越有一统天下的趋势,这已经不是什么秘密了。但是你可能不知道的是,CSS也同样的在进化,在创新。CSS最近已突飞猛进,得到很多的改善。甚至CSS都有可能不再是你认识的CSS了。当你不注意的时候,CSS社区开发了很多真正解决许多古怪的CSS问题,在这个过程不需要使用一些黑魔法,以前的缺陷也不再是缺陷。也使这些害群之马从前端的家庭中踢出去。在这篇文章中,将会介绍CSS中的五种老的处理方式,而今天你不再需要那样做。既然不需要那样做了,那又应该怎么做呢?接下来就一一给大家呈现。

    不使用Media Queries的自适应CSS

    虽然标题说不用Media Queries,但我还是要在开头讲清楚,本文并不是要大家丢掉Media Queries,也不是要抨击Media Queries。Media Queries实际上非常有用,我在各种地方都会用到。但Media Queries并不能解决所有的自适应的设计问题。常常有一种需求是根据元素所在的组件本身的大小来决定元素的排列,而不是整个视窗的宽高。要解决这类问题,Element Queries的概念诞生了。然而,Element Queries只停留在概念上,Mat Marquis 也针对这个概念提出了一些问题,并且称之为container queries。不过可惜这些都只停留在概念上。也许未来有一天,这些概念会成为现实,不过与此同时,我也来分享一些小技巧,你现在就可以用来处理某一类的问题。