ES6 Async/Await 完爆Promise的6个原因

2017-04-14
阅读 6 分钟
46k
自从Node的7.6版本,已经默认支持async/await特性了。如果你还没有使用过他,或者对他的用法不太了解,这篇文章会告诉你为什么这个特性“不容错过”。本文辅以大量实例,相信你能很轻松的看懂,并了解Javascript处理异步的一大杀器。

关于数组乱序的深挖——“感觉一直在写毒代码”

2017-04-13
阅读 10 分钟
4.9k
将一个数组进行乱序处理,是一个非常简单但是非常常用的需求。比如,“猜你喜欢”、“点击换一批”、“中奖方案”等等,都可能应用到这样的处理。包括我自己在写代码的时候,也确实遇到过。一般比较经典且流行的方案为:对对象数组采用array.sort()方法,并传入一个比较函数(comparison function),这个比较函数随机返回一个...

三个叹为观止的ES6 Array hack

2017-04-12
阅读 2 分钟
3.2k
在JavaScript中,数组随处可见。在最新版本的ECMAScript 6背景下,借助新的展开符、解构等特性,我们可以对数组做很多“四两拨千斤”的事情。

nodeJS实现基于Promise爬虫 定时发送信息到指定邮件

2017-03-29
阅读 5 分钟
4k
英国人Robert Pitt曾在Github上公布了他的爬虫脚本,导致任何人都可以容易地取得Google Plus的大量公开用户的ID信息。至今大概有2亿2千5百万用户ID遭曝光。

解析nodeJS模块源码 亲手打造基于ES6的观察者系统

2017-03-23
阅读 10 分钟
2.4k
毫无疑问,nodeJS改变了整个前端开发生态。本文通过分析nodeJS当中events模块源码,由浅入深,动手实现了属于自己的ES6事件观察者系统。千万不要被nodeJS的外表吓到,不管你是写nodeJS已经轻车熟路的老司机,还是初入前端的小菜鸟,都不妨碍对这篇文章的阅读和理解。

从JS对象开始,谈一谈“不可变数据”和函数式编程

2017-03-21
阅读 5 分钟
7.1k
作为前端开发者,你会感受到JS中对象(Object)这个概念的强大。我们说“JS中一切皆对象”。最核心的特性,例如从String,到数组,再到浏览器的APIs,“对象”这个概念无处不在。在这里你可以了解到JS Objects中的一切。

CSS3-Animotion抽丝剥茧 一步步撸出跑男动画

2017-03-14
阅读 4 分钟
2.7k
作为一名真正的前端开发者,我们不能只关注前端逻辑部分。毕竟“水银泄地”般的页面设计和“炫酷逼真”的动画效果,是我们区别于其他程序员所特有的优势之一。

面试题目别有洞天 -> 从es6优雅解法,到降级polyfill,再到redux reducer迷之命名

2017-03-09
阅读 4 分钟
3.7k
从解这道题目出发,我会谈到数组的Reduce方法,ES6特性和Redux数据流框架中Reducer的命名等等。一道典型的题目,却如唐代诗人章碣《对月》诗中所云:“别有洞天三十六,水晶台殿冷层层。”

由浅入深的前端面试题 和矫情的“浪漫主义”诗句

2017-03-09
阅读 3 分钟
2.2k
传统的佛学经典里,被世人熟知的有这样一句话:“一花一世界,一叶一菩提,一木一浮生,一草一天堂,一砂一极乐,一方一净土,一笑一尘缘,一念一清静。”

设计无限滚动下拉加载,实践高性能页面真谛

2017-02-28
阅读 12 分钟
20.1k
无限滚动加载在互联网上到处都有应用:豆瓣首页是一个,Facebook的Timeline是一个,Tweeter的话题列表也是一个。当你向下滚动,新的内容就神奇的“无中生有”了。这是一个得到广泛赞扬的用户体验。

从一道面试题,到“我可能看了假源码[2]

2017-02-21
阅读 4 分钟
2.6k
回顾1. 题目是模拟实现ES5中原生bind函数;回顾2. 我们通过4种递进实现达到了完美状态;回顾3. 可是ES5-shim中的实现,又让我们大跌眼镜...

从一道面试题,到“我可能看了假源码”

2017-02-20
阅读 4 分钟
3.3k
今天想谈谈一道前端面试题,我做面试官的时候经常喜欢用它来考察面试者的基础是否扎实,以及逻辑、思维能力和临场表现,题目是:“模拟实现ES5中原生bind函数”。也许这道题目已经不再新鲜,部分读者也会有思路来解答。社区上关于原生bind的研究也很多,比如用它来实现函数“颗粒化(currying)”,或者“反颗粒化(uncurryin...

深入新版BS4源码 探索flex和工程化sass奥秘

2017-02-08
阅读 5 分钟
2.2k
你可能已经听说了一个“大新闻”:Bootstrap4 合并了代号为#21389的PR,宣布放弃支持IE9,并默认使用flexbox弹性盒模型。这标志着:1)前端开发全面步入“现代浏览器”的时代进一步来临;2)样式处理也再一次面向未来,拥抱更加灵活的弹性盒模型-Flex布局。

一个react+redux工程实例

2017-01-19
阅读 9 分钟
8k
一直在学习研究react.js,前前后后做了几次分享。并在我参与的公司产品私信项目也使用了这套技术栈 。学习过程期间,感觉react+redux初级DEMO不多,社区上多是用烂了的todolist教程,未免乏味。

揭秘babel的魔法之class继承的处理2

2017-01-16
阅读 5 分钟
3.2k
再啰嗦一句,这一系列的文章并不是科普ECMAScript新规范。她的意义在于分析Babel对ES6的编译,从而希望读者对JS语言基础,程序设计理念等有更深刻的认识。

揭秘babel的魔法之class魔法处理

2017-01-13
阅读 4 分钟
8.4k
2017年,很多人已经开始接触ES6环境,并且早已经用在了生产当中。我们知道ES6在大部分浏览器还是跑不通的,因此我们使用了伟大的Babel来进行编译。很多人可能没有关心过,经过Babel编译之后,我们华丽的ES6代码究竟变成了什么样子?