ES6 let变量声明以及声明特性

ES6 let变量声明以及声明特性

1.声明变量

let a;
let a,b,c;
let e=100;
let f=521,g='sgag',h=[];

2.变量不能重复声明,会报错

let name = 'ming';
let name = 'helo';

3.不存在变量提升

//不会报错,只会显示undefined
console.log(song);
var song = '123';
//会报错,不允许在变量声明以前使用
console.log(song);
let song = '123';

4.不影响作用域链

5.注意let和const具有块级作用域,var不存在块级作用域

<style>
    .item{
        width: 100px;
        height: 60px;
        border: 1px solid black;
    }
</style>
<body>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</body>
</html>
<script>
    var item=document.getElementsByClassName('item');
    for(var i=0;i<item.length;i++){
        item[i].onclick=function(){
            item[i].style.background='pink';   
//会报错,i的值为3,因为var没有块级作用域,所以i的值为全局变量,通过for循环i值变为3
            console.log(this)
        }
    }
</script>

但是可以使用this来只指向每一个点击的按钮,就可以正常运行

 this.style.background='pink'; 

let具有块级作用域,不会报错

{
item[0]
}

{
item[1]
}

{
item[2]
}
<script>
    var item=document.getElementsByClassName('item');
    for(let i=0;i<item.length;i++){
        item[i].onclick=function(){
            item[i].style.background='pink';   
            console.log(this)
        }
    }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值