2.函数进阶

2.1函数提升

函数提升与变量提升比较类似,是指函数在声明之前即可被调用。
2.函数进阶_第1张图片
总结:
1.函数提升能够使函数的声明调用更灵活
2.函数表达式不存在提升的现象
3.函数提升出现在相同作用域当中

2.2函数参数

1.动态参数
arguments 是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参
2.函数进阶_第2张图片
总结:
(1)arguments是一个伪数组,只存在于函数中
(2)arguments 的作用是动态获取函数的实参
(3)可以通过for循环依次得到传递过来的实参

2.剩余参数
剩余参数允许我们将一个不定数量的参数表示为一个数组
2.函数进阶_第3张图片
(1)… 是语法符号,置于最末函数形参之前,用于获取多余的实参
(2)借助 … 获取的剩余实参,是个真数组
2.函数进阶_第4张图片
开发中,提倡多使用 剩余参数

2.3展开运算符

1.展开运算符 (…),将一个数组进行展开
2.函数进阶_第5张图片
2.典型运用场景:求数组最大值(最小值)、合并数组等
在这里插入图片描述
区别:展开运算符or剩余参数
(1)剩余参数:函数参数使用,得到真数组
(2)展开运算符:数组中使用,数组展开

2.3箭头函数(重要)

目的:引入箭头函数的目的是更简短的函数写法并且不绑定this,箭头函数的语法比函数表达式更简洁
使用场景:箭头函数更适用于那些本来需要匿名函数的地方
一、语法
语法1:基本写法
2.函数进阶_第6张图片
语法2:只有一个参数可以省略小括号
2.函数进阶_第7张图片

语法3:如果函数体只有一行代码,可以写到一行上,并且无需写return直接返回值
2.函数进阶_第8张图片
例如
2.函数进阶_第9张图片
语法4:加括号的函数体返回对象字面量表达式
在这里插入图片描述
2.函数进阶_第10张图片

小结:
2.函数进阶_第11张图片
二、箭头函数参数
1.普通函数有arguments动态参数
2.箭头函数没有arguments动态参数,但是有 剩余参数…args
2.函数进阶_第12张图片

三、箭头函数 this
在箭头函数出现之前,每一个新函数根据它是被如何调用的来定义这个函数的this值,非常麻烦
箭头函数不会创建自己的this,它只会从自己的作用域链的上一层沿用this。
2.函数进阶_第13张图片
2.函数进阶_第14张图片
在开发中【使用箭头函数前需要考虑函数中this的值】,事件回调函数使用箭头函数时,this 为全局的window,因此DOM事件回调函数为了简便,还是不太推荐使用箭头函数

你可能感兴趣的:(前端——JavaScript,javascript,前端)