这篇文章主要介绍了Nodejs异步回调的优雅处理方法,本文使用了ES6中的新特性,用一种十分优雅的方式解决了回调问题,需要的朋友可以参考下前言Nodejs最大的亮点就在于事件驱动, 非阻塞I/O 模型,这使得Nodejs具有很强的并发处理能力,非常适合编写网络应用。在Nodejs中大部分的I/O操作...
分类:
Web程序 时间:
2015-06-02 19:52:37
阅读次数:
146
在大多数面向对象语言中,对象总是由类中实例化而来,类和对象的关系就像模具跟模件一样。Javascript中没有类的概念,就算ES6中引入的class也不过是一种语法糖,本质上还是利用原型实现。在原型编程语言中,类并不是必需的,对象不一定需要由类实例化而来,而是通过克隆另外一个对象来得到。 原型...
分类:
编程语言 时间:
2015-06-01 00:35:07
阅读次数:
155
Babel是一个转换编译器,它能将ES6转换成可以在浏览器中运行的代码。Babel由来自澳大利亚的开发者Sebastian McKenzie创建。他的目标是使Babel可以处理ES6的所有新语法,并为它内置了React JSX扩展及Flow类型注解支持。据codemix创始人Charles Pick...
分类:
编程语言 时间:
2015-05-28 12:17:51
阅读次数:
184
JS的对象本身就是个键值结构,ES6为什么还需要加Map呢。一、Map1. Map构造器先看Map的简单用法// 字符串作为key, 和JS对象类似var map = new Map()// setmap.set('name', 'John')map.set('age', 29)// getmap....
分类:
其他好文 时间:
2015-05-22 08:12:40
阅读次数:
143
如果你的第一门编程语言不是 JavaScript,而是 C++ 或 Java,那么一开始你大概会看不惯 JavaScript 的数字类型。在 JavaScript 中的数字类型是不区分什么 Int,Float,Double,Decimal 的。咳咳,我说的当然是在 ES6 之前的 JS,在 ES6 ...
分类:
编程语言 时间:
2015-05-17 23:30:48
阅读次数:
226
ES6里加入了一个新数据解构Set,和Java的Set一样,它里面不存放重复的元素。Set实现为一个类,使用时需要先new。var s1 = new Set()s1.add(1)s1.add(2)s1.add(3)s1.add(1)var s2 = new Set()s2.add('a')s2.ad...
分类:
其他好文 时间:
2015-05-14 18:07:30
阅读次数:
157
Let 命令声明变量 - 只在let命令所在的代码块内有效。ex:{ let a = 10; var b = 21;}a // 报错 ReferenceError: a is not definedbex:var ar = [];for(var i=0; i<10; i++){ var ix = ....
分类:
其他好文 时间:
2015-05-12 20:44:48
阅读次数:
121
很多语言中都有块级作用域,但JS没有,它使用var声明变量,以function来划分作用域,大括号“{}” 却限定不了var的作用域。用var声明的变量具有变量提升(declaration hoisting)的效果。ES6里增加了一个let,可以在{}, if, for里声明。用法同var,但作用域...
分类:
其他好文 时间:
2015-05-10 12:48:53
阅读次数:
125
我们知道JS函数内部有个arguments对象,可以拿到全部实参。现在ES6给我们带来了一个新的对象,可以拿到除开始参数外的参数,即剩余参数(废话好多 O(∩_∩)O~)。这个新的对象和arguments不一样,它是程序员自定义的一个普通标识符,只是需要在前面加上三个点:...function fu...
分类:
其他好文 时间:
2015-05-07 08:44:49
阅读次数:
159