第一章 let命令
1.let声明的变量只在变量声明时所在的代码块内有效
对比:
{ var url = "www.baidu.com"; } alert(url); //-------------------------------- { let url = "www.baidu.com"; } alert(url); 复制代码
2.let不允许在同一作用域重复声明变量:
let url = "www.baidu.com"; { let url="www.sina.com.cn"; console.log(url); } 复制代码
正确,放到括号里面错误
3.let与全局变量的声明
//错误
let a=3; { var a=5; } alert(a); 复制代码
//正确
var a=3; { let a=5; } alert(a); 复制代码
4.作用到子作用域
let a=3; { a=5; //子作用域 } alert(a); //弹出5 复制代码
第二章 const命令
const命令用来生成一个常量,常量被声明后,值无法改变。其他与let相同。
第三章 解构赋值
1.数组解构
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.函数参数解构
let obj={uid:121,uname:'张三'}; function analysis({uid,uname}){ alert(uid); alert(uname); } analysis(obj); //-------以下也正确 function analysis({uname}){ alert(uname); } 复制代码
参数中数组、字符串、默认值、缺位均支持
作者:zhulin1028
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。