mirror of
https://github.com/wangdoc/javascript-tutorial.git
synced 2025-12-23 02:34:33 +08:00
docs(types/function): edit 函数提升
This commit is contained in:
@@ -186,7 +186,9 @@ f();
|
||||
f = function () {};
|
||||
```
|
||||
|
||||
上面代码第二行,调用`f`的时候,`f`只是被声明了,还没有被赋值,等于`undefined`,所以会报错。因此,如果同时采用`function`命令和赋值语句声明同一个函数,调用函数的位置如果在顶部,会采用声明语句,调用函数的位置在赋值语句后面,就会采用赋值语句的定义。
|
||||
上面代码第二行,调用`f`的时候,`f`只是被声明了,还没有被赋值,等于`undefined`,所以会报错。
|
||||
|
||||
注意,如果像下面例子那样,采用`function`命令和`var`赋值语句声明同一个函数,由于存在函数提升,最后会采用`var`赋值语句的定义。
|
||||
|
||||
```javascript
|
||||
var f = function () {
|
||||
@@ -200,6 +202,8 @@ function f() {
|
||||
f() // 1
|
||||
```
|
||||
|
||||
上面例子中,表面上后面声明的函数`f`,应该覆盖前面的`var`赋值语句,但是由于存在函数提升,实际上正好反过来。
|
||||
|
||||
## 函数的属性和方法
|
||||
|
||||
### name 属性
|
||||
|
||||
Reference in New Issue
Block a user