函数
箭头函数
- 箭头函数没有自己的this
- this指向就是其外部的this
参数默认值
function func(a = 1, b = 1) {
return a + b;
}
console.log( func() ); // 2
console.log( func(2) ); // 3
console.log( func(2, 3) ); // 5
参数解构赋值
let obj = {
name: 'xxx',
age: 18,
sex: 'female'
}
function func({name, age}) {
return `姓名是${name},年龄是${age}`;
}
console.log( func(obj) ); // 姓名是xxx,年龄是18
扩展运算符
let arr = ['a', 'b', 'c'];
// 利用扩展运算符复制数组
let arr1 = [...arr];
console.log(arr1); // ['a', 'b', 'c']
let arr = ['a', 'b', 'c'];
function func(a, b, c) {
console.log(a, b, c);
}
func(...arr); // a b c
rest参数
function func(a, b, ...args) {
console.log(args);
}
func(1, 2, 3, 4, 5); // [3, 4, 5]
- 注意与扩展运算符的区别:
- 扩展运算符一般在函数调用时使用
- rest参数在函数声明时使用
this绑定
尾调用
- 简单来说:某个函数的最后一步是调用另一个函数
- 尾调用