let [a, b, c,d] = ["aa", "bb", 77,88]; 嵌套数组解构 let [a,b,[c,d],e] =["aa",'bb',[33,44],55]; 空缺变量 let [a,b,,e] =["aa",'bb',[33,44],55]; 多余变量 let [a,b,,e,f] =["aa",'bb',[33,44],55]; 默认值 let [a,b,,e,f='hello'] =["aa",'bb',[33,44],55]; 2.对象解构 let obj={uid:121,uname:'张三'}; let obj=new Object(); obj.uid=111; obj.uname='张三'; let {uid:id,uname:name}=obj; //顺序改变无影响 alert(name); 小括号: let uid,uname; ({uid,uname} = obj); //必须有小括号,否则{}就会被解读为语句块 alert(uname);; 可嵌套 可有默认值 3.字符串解构 let [a, b, c, d] ="倚天屠龙"; console.log(a,b,c,d); 4.函数参数解构 function analysis({uid,uname}){ alert(uid); alert(uname); } analysis(obj); //-------以下也正确 let obj={uid:121,uname:'张三'}; function analysis({uname}){ alert(uname); } 参数中数组、字符串、默认值、缺位均支持