作用域
- 局部作用域
- 函数作用域:属于局部变量,只能用于函数里面
- 块级作用域: let和const声明的变量有块作用域,但var可能没有块作用域(不推荐使用) -全局作用域
函数参数
- 动态参数:arguments
- 只存在函数里面
- 他传入的这个arguments是一个伪数组
- 剩余参数:...arr
- 这个arr是一个真数组
- 如果函数里面传入了其他形参,他是除去那几个形参之外参数组成的数组
function fun(a,b,...arr){
consloe.log('arr')//[3,4,5]
}
fun(1,2,3,4,5)
- 比较数组大小,合并数组:...arr
arr=[1,2,3]
consloe.log(...arr)//1 2 3
const a=Math.max(...arr)//3
sum=[4,5,6]
re=[...arr,...sum]//[1,2,3,4,5,6]
箭头函数:()=>{}
- 只有一个形参小括号可以省略
- 只有一行代码{}可以省略,可以省略return
- this指向上一级作用域的对象,普通this指向调用对象
两种情况需要加;
- 立即执行函数
- 在以数组开头,不加上JS没有办法进行解析