1、函数参数默认值
在ES6以前,我们无法给一个函数参数设置默认值,只能采用变通写法:
function add(a, b) {
// 判断b是否为空,为空就给默认值1
b = b || 1;
return a + b;
}
// 传一个参数
console.log(add(10));
现在可以这么写:直接给参数写上默认值,没传就会自动使用默认值
function add2(a, b = 1) {
return a + b;
}
console.log(add2(20));
2、不定参数
不定参数用来表示不确定参数个数,形如,…变量名,由…加上一个具名参数表示符组成
具名参数只能放在参数列表的最后,并且有且只有一个不定参数
function fun(...values) {
console.log(values.length)
}
fun(1, 2) //2
fun(1, 2, 3, 4) //4
3、箭头函数
ES6中定义函数的简写方式
3.1 一个参数时
//以前声明一个方法
var print = function (obj) {
console.log(obj);
}
//可以简写为
var print = obj => console.log(obj);
//调用测试
print("hello");
3.2多个参数
两个参数的情况
var sum = function (a, b) {
c = a + b;
return c;
}
//简写为:
//当只有一行语句,并且需要返回结果时,可以省略 { },结果会自动返回
var sum2 = (a, b) => a + b;
//测试调用
console.log(sum2(11, 12));//23
代码不止一行,可以用{ }括起来
var sum3 = (a, b) => {
c = a + b;
return a + c;
}
//测试调用
console.log(sum3(10, 20));//40
4、箭头函数+解构表达式
//箭头函数+解构
const person = {
name: "jack",
age: 21,
language: ['java', 'js', 'css']
}
function hello(person) {
console("hello,"+person.name)
}
//{name} 从person中将name解构出来
var hello2 = ({name}) => console.log("hello," +name);
hello2(person);