File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -204,7 +204,13 @@ foo(undefined, null)
204
204
(function (a , b , c = 5 ){}).length // 2
205
205
```
206
206
207
- 上面代码中,` length ` 属性的返回值,等于函数的参数个数减去指定了默认值的参数个数。
207
+ 上面代码中,` length ` 属性的返回值,等于函数的参数个数减去指定了默认值的参数个数。比如,上面最后一个函数,定义了3个参数,其中有一个参数` c ` 指定了默认值,因此` length ` 属性等于3减去1,最后得到2。
208
+
209
+ 这是因为` length ` 属性的含义是,该函数预期传入的参数个数。某个参数指定默认值以后,预期传入的参数个数就不包括这个参数了。同理,rest参数也不会计入` length ` 属性。
210
+
211
+ ``` javascript
212
+ (function (... args ) {}).length // 0
213
+ ```
208
214
209
215
### 作用域
210
216
Original file line number Diff line number Diff line change 8
8
9
9
这对JavaScript语言很有必要。因为它的使用场景复杂,语法规则不统一,例外很多,各种运行环境的行为不一致,导致奇怪的语法问题层出不穷,任何语法书都不可能囊括所有情况。查看规格,不失为一种解决语法问题的最可靠、最权威的终极方法。
10
10
11
- 本节介绍如何读懂ECMAScript 6的规格文件。
11
+ 本章介绍如何读懂ECMAScript 6的规格文件。
12
12
13
13
ECMAScript 6的规格,可以在ECMA国际标准组织的官方网站([ www.ecma-international.org/ecma-262/6.0/ ] ( http://www.ecma-international.org/ecma-262/6.0/ ) )免费下载和在线阅读。
14
14
@@ -20,7 +20,9 @@ ECMAScript 6规格的26章之中,第1章到第3章是对文件本身的介绍
20
20
21
21
## 相等运算符
22
22
23
- 先来看这个例子,请问下面表达式的值是多少。
23
+ 相等运算符(` == ` )是一个很让人头痛的运算符,它的语法行为多变,不符合直觉。这个小节就看看规格怎么规定它的行为。
24
+
25
+ 请看下面这个表达式,请问它的值是多少。
24
26
25
27
``` javascript
26
28
0 == null
You can’t perform that action at this time.
0 commit comments