1参数可加默认值
如:
function add(x,y='我是默认值'){
return x+y;
}
console.log(add(3));//3我是默认值
2 function关键字后的()自成一级作用域
如:
let x = 5;
function add(x,y=x){
return x+y;
}
add(3);//6
function addx(a,y=x){
return a+y;
}
addx(3);//8
3 函数定义时,...操作符将函数多个离散参数收集为一个数组
如:
function add(...args){
console.log(args);//[1,2,3]
}
add(1,2,3);
需要注意的是上边的args必须放在函数参数的最后一个位置
4 其他地方使用...操作符可将一个数组解构为一堆离散值
如:
function add(a,b,c){
console.log(a,b,c);//1,2,3
}
add(...[1,2,3]);
5箭头函数
如:
let add = (a,b) => {
return a+b;
}
console.log(add(3,5));//8
- 补充1:如果函数体只有一行表达式,则可简写为:
let add = (a,b) => a+b
console.log(add(3,5));//8
- 补充2:箭头函数无this绑定,并不默认指向函数的调用者,要在箭头函数体中使用this,那么就是其定义时所在作用域中的this,如:
let obj = {
num:5,
add:(a,b) => {
console.log(this)
return a+b;
}
}
obj.add(3,5);//window对象