一,默认参数
ES6为形参添加了默认值,如果没有传入实参,则实参取默认值
function getPerson(name, age = 18) { // age默认参数18
console.log('姓名:' + name + ',' + '年龄:' + age);
}
getPerson('张三'); // '姓名:张三,年龄:18'
二,rest可变参数
ES6增加rest参数用数组的形式来存储额外传入的实参,可以用来代替ES5中的arguments
使用方式:在函数形参的最后面用三个点+变量名的形式
function getPerson(name, age, ...body) { // ...body为额外多余的参数数组
console.log('姓名:' + name + ',' + '年龄:' + age);
console.log(body);
}
getPerson('张三', 18, '眼睛', '耳朵'); // '姓名:张三,年龄:18' ['眼睛', '耳朵']
注意点:一个函数只能有一个rest参数
三,箭头函数
ES6增加了箭头函数() => 简化了传统函数的定义,简化了回调,同时他的this在定义的时候就绑定了,不会被改变。因此在箭头函数中再也不用写var that = this这种代码。
注意点:
1,箭头函数不能作为构造函数,因为他没有prototype属性
2,不能使用arguments,可以使用rest参数代替
3,因为没有自己的this,因此不能调用call()、apply()和bind()方法改变this指向
四,name属性
通过函数名.name,可以返回当前函数的名称。
function getPerson(name, age) {
console.log(name, age);
}
getPerson.name; // 返回'getPerson'