变量的解构
1.数组的解构
1)完全解构
let [a,b,c]=[1,2,3]//模式匹配都含有形同的模式,并且意义对应
console.log(a,b,c);
2)不完全解构
let [a,b]=[1,2,3]
2.字符串的解构
1)完全解构
let sum="hellow";
let [a,b,c,d,e]=sum;
console.log(a,b,c,d,e);
2)不完全解构
let sum="hellow";
[a,b,c]=sum;
console.log(a,b,c)
3.对象解构
1)完全解构
let ojb={name:"小红",age:20};
let{name,age}=ojb;
console.log(name,age);
2)不完全解构
let ojb={name:"小红",age:20}
let{name}=ojb;
console.log(name);
4.属性的重命名
let data={
Studentname:"小红",
age:20,
url:"http//xxx.html",
id:"1001"
};
let{
Studentname:name,
age,
url,
id
}=data;
console.log(nume,age,url,id)
5.参数的解构
1)数组参数的解构
let function sum([a,b]){
console.log(a,b);
};
sum([1,2])
2)对象参数的解构
let function ojb({name,age}){
console.log(name,age)
};
ojb({name:"小红",age:20})
6.默认值解构
1)数组的默认值
let sum([a=0,b,c=3]){//对数组的元素赋值
console.log(a,b,c);//c虽然没有传参但是有默认值
};
sum([1,2])//传参是按顺序依次传参,如果有默认值会覆盖默认值
2)对象的默认值
let ojb({name="小红",age}){
console.log(name,age);
};
ojb({name:"小黄",age:20})
7 补充
1)数组的回调函数
function sum(){
let arr=[100,200,300];
return arr;
return arr=[200,300,400];
};
let[a,b,c]=sum();//把回调的数组赋给数组a,b,c中
console.log(a,b,c)
2)对象的回调函数
function ojb(){
let arr={
name:"小红",
age:20
};
return arr;
}
let {name,age}=ojb;
console.log(name,age);
3)回调案例
function sum(num,fn){
if(num>100)//如果num>100则函数为400
fn(400);
else
fn(50);
return fn;
}
sum(10,function(data){
console.log(data)//回调函数 设参data接受参数
})
end。。。。。。。。。。。.。。。。