<script type="text/javascript">//console.log(age);// age is not definedlet age =12;//let age = 13;不能重复声明
console.log(age);let btns = document.getElementsByTagName('button');//绑定3个按钮,这里用var的出来的alert(i)是3,因为先执行主线程的,回调函数是队列里面的,调用才执行,换成let,let有它自己的作用于,和闭包类似,闭包其实可以看成有自己的作用域for(let i =0;i<btns.length;i++){
btns[i].onclick=function(){alert(i);}}</script>
2.const关键字
作用: 定义一个常量
特点: 不能修改 其它特点同let
应用: 保存不用改变的数据
<script type="text/javascript">const sex ='男';
console.log(sex);//sex = '女';//不能修改
console.log(sex);</script>
3.变量的解构赋值
let obj ={name :'kobe', age :39};// let name = obj.name;// let age = obj.age;// console.log(name, age);//对象的解构赋值let{age}= obj;
console.log(age);//这里的age就说上面的age// let {name, age} = {name : 'kobe', age : 39};// console.log(name, age);//3. 数组的解构赋值 不经常用let arr =['abc',23,true];let[a, b, c, d]= arr;
console.log(a, b, c, d);//console.log(e);functionperson(p){//不用解构赋值
console.log(p.name, p.age);}person(obj);functionperson1({name, age}){//相当于let {name,age} = obj
console.log(name, age);}person1(obj);
let关键字作用:与var类似, 用于声明一个变量特点:在块作用域内有效不能重复声明不会预处理, 不存在提升应用:循环遍历加监听使用let取代var是趋势<script type="text/javascript"> //console.log(age);// age is not defined let age = 12; //let ...