Skip to content

Commit 04d80fc

Browse files
committed
edit function/arrow function
1 parent 417b7c8 commit 04d80fc

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

docs/decorator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ Trait也是一种修饰器,功能与Mixin类型,但是提供更多功能,
413413
下面采用[traits-decorator](https://github.com/CocktailJS/traits-decorator)这个第三方模块作为例子。这个模块提供的traits修饰器,不仅可以接受对象,还可以接受ES6类作为参数。
414414

415415
```javascript
416-
import {traits } from 'traits-decorator'
416+
import { traits } from 'traits-decorator'
417417

418418
class TFoo {
419419
foo() { console.log('foo') }

docs/function.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -427,21 +427,21 @@ Generator函数运行后,返回一个遍历器对象,因此也可以使用
427427

428428

429429
```javascript
430-
431430
var go = function*(){
432431
yield 1;
433432
yield 2;
434433
yield 3;
435434
};
436435

437436
[...go()] // [1, 2, 3]
438-
439437
```
440438

441439
上面代码中,变量go是一个Generator函数,执行后返回的是一个遍历器,对这个遍历器执行扩展运算符,就会将内部遍历得到的值,转为一个数组。
442440

443441
## 箭头函数
444442

443+
### 基本用法
444+
445445
ES6允许使用“箭头”(=>)定义函数。
446446

447447
```javascript
@@ -540,13 +540,19 @@ headAndTail(1, 2, 3, 4, 5)
540540
// [1,[2,3,4,5]]
541541
```
542542

543+
### 使用注意点
544+
543545
箭头函数有几个使用注意点。
544546

545-
- 函数体内的this对象,绑定定义时所在的对象,而不是使用时所在的对象。
546-
- 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
547-
- 不可以使用arguments对象,该对象在函数体内不存在。
547+
(1)函数体内的this对象,绑定定义时所在的对象,而不是使用时所在的对象。
548548

549-
上面三点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。下面的代码是一个例子,将this对象绑定定义时所在的对象。
549+
(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
550+
551+
(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替。
552+
553+
(4)不可以使用yield命令,因此箭头函数不能用作Generator函数。
554+
555+
上面四点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。下面的代码是一个例子,将this对象绑定定义时所在的对象。
550556

551557
```javascript
552558
var handler = {
@@ -569,6 +575,8 @@ var handler = {
569575

570576
长期以来,JavaScript语言的this对象一直是一个令人头痛的问题,在对象方法中使用this,必须非常小心。箭头函数绑定this,很大程度上解决了这个困扰。
571577

578+
### 嵌套的箭头函数
579+
572580
箭头函数内部,还可以再使用箭头函数。下面是一个ES5语法的多重嵌套函数。
573581

574582
```javascript

docs/style.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 编程风格
22

3-
本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,具体可参阅[jscs.info](http://jscs.info/),下面的内容主要参考了[Airbnb](http://jscs.info/)的JavaScript风格规范。
3+
本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,具体可参阅[jscs.info](http://jscs.info/),下面的内容主要参考了[Airbnb](https://github.com/airbnb/javascript)的JavaScript风格规范。
44

55
## 块级作用域
66

0 commit comments

Comments
 (0)