Skip to content

Commit 8afab8c

Browse files
committed
edit function/length
1 parent 0fc76fe commit 8afab8c

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

docs/function.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,13 @@ foo(undefined, null)
204204
(function(a, b, c = 5){}).length // 2
205205
```
206206

207-
上面代码中,`length`属性的返回值,等于函数的参数个数减去指定了默认值的参数个数。
207+
上面代码中,`length`属性的返回值,等于函数的参数个数减去指定了默认值的参数个数。比如,上面最后一个函数,定义了3个参数,其中有一个参数`c`指定了默认值,因此`length`属性等于3减去1,最后得到2。
208+
209+
这是因为`length`属性的含义是,该函数预期传入的参数个数。某个参数指定默认值以后,预期传入的参数个数就不包括这个参数了。同理,rest参数也不会计入`length`属性。
210+
211+
```javascript
212+
(function(...args) {}).length // 0
213+
```
208214

209215
### 作用域
210216

docs/spec.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
这对JavaScript语言很有必要。因为它的使用场景复杂,语法规则不统一,例外很多,各种运行环境的行为不一致,导致奇怪的语法问题层出不穷,任何语法书都不可能囊括所有情况。查看规格,不失为一种解决语法问题的最可靠、最权威的终极方法。
1010

11-
本节介绍如何读懂ECMAScript 6的规格文件。
11+
本章介绍如何读懂ECMAScript 6的规格文件。
1212

1313
ECMAScript 6的规格,可以在ECMA国际标准组织的官方网站([www.ecma-international.org/ecma-262/6.0/](http://www.ecma-international.org/ecma-262/6.0/))免费下载和在线阅读。
1414

@@ -20,7 +20,9 @@ ECMAScript 6规格的26章之中,第1章到第3章是对文件本身的介绍
2020

2121
## 相等运算符
2222

23-
先来看这个例子,请问下面表达式的值是多少。
23+
相等运算符(`==`)是一个很让人头痛的运算符,它的语法行为多变,不符合直觉。这个小节就看看规格怎么规定它的行为。
24+
25+
请看下面这个表达式,请问它的值是多少。
2426

2527
```javascript
2628
0 == null

0 commit comments

Comments
 (0)