来自分类 ES62016-12-07 22:12:00
###### Promise 异步
```javascript
var xhr = new Promise((resolve, reject) => {
setTimeout(() => {
resolve({
id: 1
});
}, 1000);
});
xhr.then((data) => console.log(data));
````
```javascript
var Request = (i) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(i)
resolve(i+"完成")
}, 1000)
})
}
Request(1)
.then((s) => Request(2))
.then((s) => Request(3))
.then((s) => Request(4))
```
...
来自分类 ES62016-12-07 22:12:00
#### Number.isFinite()用来检查一个数值是否非无穷(infinity)。
#### Number.isNaN()用来检查一个值是否为NaN。
#### Number.isInteger()用来判断一个值是否为整数。
#### Math.trunc():去除一个数的小数部分,返回整数部分。对于空值和无法截取整数的值,返回NaN。
#### Math.sign():判断一个数到底是正数、负数、还是零。
返回五种值:参数为正数,返回+1;参数为负数,返回-1;参数为0,返回0;参数为-0,返回-0;其他值,返回NaN。
#### Math.cbrt:计算一个数的立方根。
#### Math.fround:返回一个数的单精度浮点数形式
#### Math.hypot:返回所有参数的平方和的平方根
#### Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象
#### Array.of方法用于将一组值,转换为数组。
#### Array.find方法,用于找出第一个符合...
来自分类 ES62016-12-07 22:12:00
```javascript
//没有参数要有小括号
let show = () => {
}
//只有一个参数则可以省略小括号
let go = url => {
location.href = url
}
// 多个参数
let add = (x, y) => {
return x + y
}
// 事件
document.addEventListener('click', e => {
console.log(e)
})
// this作用域统一
vue = {
data: ['girl', 'boy'],
init: function() {
document.onclick = e => {
console.log(this.data) // ['girl', 'boy']
}
}
}
vue.init()
// 不能使用argument
var func = () => {
console.log(arguments)
}
func(55)
// 箭头...
来自分类 ES62016-12-07 22:12:00
#### 1. async/await 函数是什么?
一句话,async 函数就是 Generator 函数的语法糖。
```javascript
var asyncReadFile = async function (){
var f1 = await readFile('/etc/fstab');
var f2 = await readFile('/etc/shells');
console.log(f1.toString());
console.log(f2.toString());
};
```
#### 2. async 函数的优点
(1)内置执行器。 async 函数的执行,与普通函数一模一样,只要一行。`var result = asyncReadFile();`
(2)更好的语义。 async 和 await,语义更清楚了。async 表示函数里有异步操作,await 表示紧跟在后面的表达式需要等待结果。
(3)更广的适用性。 async 函数的 await 命令后面,可以跟 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)。
...
来自分类 ES62016-12-07 22:12:00
之前已经写法 `async/await` 在nodejs中的使用方法, 今天再写一个如何在浏览器中使用.
`async/await` 是`es8`才可能支持的语法, 目前大部分浏览器还是不能直接使用的, 不过没关系, 我们可以通过`webpack`来实现
#### 安装依赖
package.json
```
"dependencies": {
"babel-core": "^6.10.4",
"babel-loader": "^6.2.4",
"babel-polyfill": "^6.9.1",
"babel-preset-es2015": "^6.9.0",
"babel-preset-stage-0": "^6.5.0",
"core-js": "^2.4.0",
"regenerator-runtime": "^0.9.5",
"webpack": "^1.13.1"
}
```
#### 配置webpack
webpack.config.js
```javascript
var webpack = require('webpack');
var path ...