1.函数增加了默认参数
ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。
function show (a,b){
a = a || '默认值';
b = b || '默认值'
console.log(a,b)
}
show(1,2)
es6中增加了默认值就变得更加简洁了
function show (a = '默认值',b = '默认值'){
console.log(a,b)
}
show(1,2)
结合解构赋值
function show ({a=0,y=0} = {}){
console.log(x,y)
}
show(1,2)
2.函数参数默认已经定义了,不能在使用let或者const声明
function show (a,b){
let a = 25 // 报错
console.log(a)
}
3.箭头函数
写法:
() => {
语句
return;
}
let show = (a,b) => a+b; 等同于下面的写法:
function show(a,b){
return a+b;
}
使用箭头函数时需要注意:
1.this问题,this指向 是定义函数所在的对象,不再是运行时所在的对象
var a = 10;
let json = {
a:5,
show:function(){
setTimeOut(function(){
console.log(this.a) // 10
},2000)
}
}
// 若使用箭头函数 打印 5
2.箭头函数中没有arguments,使用扩展运算符
function show (...a){
console.log(a) // [1,2,3,4,5]
}
show(1,2,3,4,5)