<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//1.带参数默认值的函数
//es5的写法
function add(a,b) {
a = a||10;
b = b||20;
return a+b;
}
add();//上面默认a = 10,b = 20
//es6的写法
function add(a = 10,b = 20) {
return a + b;
}
add();
//2.默认的表达式也可以是一个函数
function add(a,b = getVal(5)) {
return a+b;
}
function getVal(val) {
return val + 5;
}
add(10);//10赋值给a b为默认的值
//es6 剩余参数 三个点加具名参数组成
function pick(obj,...keys) {
console.log(keys);// ["year", "author"]
let result = Object.create(null);
for(let i = 0;i < keys.length;i++){
result[keys[i]] = obj[keys[i]];
}
return result;
}
let book = {
title:'es6的教程',
autor:'walter',
year:2019
}
let bookData = pick(book,'year','author');
console.log(bookData)
</script>
</body>
</html>