函数提升
1.1 概念
函数 先声明后调用
![](https://i-blog.csdnimg.cn/blog_migrate/d41f18e8bef986c195a527dda6b7e2c4.png)
1.2 注意
函数表达式 不存在 函数提升
![](https://i-blog.csdnimg.cn/blog_migrate/7cfd78e76edeb653cf631e9d9806c7ac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c1db46a1c4cc1f9974503867bbef9590.png)
2. 函数参数
2.1 动态参数 arguments
函数内置的 伪数组,储存 调用函数时 传过来的所有 实参
2.2 剩余函数(推荐使用)
1. 剩余参数中 . . . 是语法结构,置于最末形参之前,用来接受 剩余的实参
2. 剩余参数 不同于 arguments ,是个真数组,箭头函数中 无 arguments
2.2.1 接受传过来的所有实参
![](https://i-blog.csdnimg.cn/blog_migrate/b8140c4cca978bf60d1b2639512b6c03.png)
![](https://i-blog.csdnimg.cn/blog_migrate/70dea103e7ef68c64bc8de9309f7ddad.png)
2.2.2 接受传过来的剩余参数
![](https://i-blog.csdnimg.cn/blog_migrate/518001bfed977dc9d231db63dd89c900.png)
![](https://i-blog.csdnimg.cn/blog_migrate/997c928d132b8bdc2f1ab71b5b295b85.png)
3. 展开运算符(. . .)
3.1 使用
将一个数组里的元素展开
![](https://i-blog.csdnimg.cn/blog_migrate/5527b52681a1751d955802d7be0d492d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/415b2b2a083bae13612050d3d167e9dd.png)
3.2 实际运用
3.2.1 获取最大或最小
![](https://i-blog.csdnimg.cn/blog_migrate/9e72c5ebe34f37e640fd1f21d0f56aef.png)
3.2.2 合并数组
![](https://i-blog.csdnimg.cn/blog_migrate/95153ef193edf0d41f68886ffb7a2ad1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2f4dd918bb79a23545bd2a616e4e31d8.png)
4. 箭头函数
4.1 箭头函数的使用方法
![](https://i-blog.csdnimg.cn/blog_migrate/06336c02ebc37d723fe378471e60c7ec.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5ba6ee798456b40620ea558107e19937.png)
4.2 箭头参数
箭头函数中没有 agrements 参数
可以使用 剩余参数
4.2.1 箭头函数求和案例
![](https://i-blog.csdnimg.cn/blog_migrate/bcfa4567817719c2670c2784ba521f49.png)
4.3 箭头函数的this指向
箭头函数不会创建自己的this,会沿用上一级作用域的this
![](https://i-blog.csdnimg.cn/blog_migrate/52fee35215e1eab88872c5aa1321e292.png)
4.4 注意
DOM 的回调函数中,不推荐使用 箭头函数
![](https://i-blog.csdnimg.cn/blog_migrate/78df25c955f1a636e7623a255f4d4879.png)