<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>参数默认值与解构</title>
</head>
<body>
<!-- <script type="text/javascript">
//函数形参使用数组解构,预期实参是一个数组,否则报错
// function f1([m,n,i]){
// console.log(m,n,i);
// }
// f1([3,4,5]);
// f1(); //报错
//设置默认值 对整个解构数组 设置默认值
// function f1([m,n,i]=[]){
// console.log(m,n,i);
// }
// f1();
// f1([3,4,5]);
// 设置默认值 对整个解构数组中的每一个变量,单独设置默认值
function f2([m,n,i]=[1,2,3]){
console.log(m,n,i);
}
f2();
f2([3,4,5]);
//将默认值放在解构数组中
// function f3([m=1,n=2,i=3]=[]){
// console.log(m,n,i);
// }
// f3();
// f3([3,4,5]); //[m=1,n=2,i=3]=[3,4,5]
</script> -->
<script type="text/javascript">
//函数参数默认值与对象解构
// var {age,sex,say} = {"age":30, "sex":"男", "say":function(){return "hello";}};
// var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
// var {age,sex,say} = obj;
//1.函数参数使用对象解构
// function f1({age,sex,say}){
// console.log(age, sex, say);
// }
// var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
// f1(obj);
//2.设置默认值 整体默认为{}
// function f2({age,sex,say}={}){
// console.log(age, sex, say);
// }
// var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
// f2(obj);
// f2();
//3.设置默认值 整体默认一个对象
// function f3({age,sex,say}={"age":20,"sex":"男"}){
// console.log(age, sex, say);
// }
// var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
// f3(obj);
// f3();
//4.设置默认值 整体默认为{} 给每个变量单独设置默认值
function f4({age=30,sex="女",say}={}){
console.log(age, sex, say);
}
var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
f4(obj);
f4();
</script>
</body>
</html>