ES6-let和const命令

本文详细介绍了JavaScript中的let和const命令。let不允许变量重复声明,拥有块级作用域,不进行变量提升;const用于声明常量,必须初始化且不可更改值,同样具有块级作用域。文中通过实例展示了let在循环中的块级作用域特性,以及const对于数组和对象元素的特殊处理。

let命令

1.变量不能重复声明

let star='小豪';
let star='小猪'  //error

2.let有块级作用域,全局,函数,eval

{
    let girl='小白'
}
console.log(girl) //error

不仅仅针对花括号,例如if()里面

3.不存在变量提前

console.log(song)   //error
let song='时间大师'

4.不影响作用域链

let school='abc'
function fn(){
    console.log(school) //abc
}

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <div class="item" style="width: 50px;height: 50px;background-color: red"></div>
        <div class="item" style="width: 50px;height: 50px;background-color: red"></div>
        <div class="item" style="width: 50px;height: 50px;background-color: red"></div>
    </div>
    <script>
        let items=document.getElementsByClassName("item");
        for (var i=0;i<items.length;i++){
            items[i].onclick=function (){
                items[i].style.backgroundColor='pink';
            }
        }
        console.log(windows.i)  //3 
        // 当var=3的时候,点击事件开始向外层作用域找,找不到,就是windows.i,此时是3,如果是let i,具有块级作用域,所以每一次触碰事件的i都是不同的。

        //相当于这样
        {
            let i = 0;
                        items[i].onclick=function (){
                items[i].style.backgroundColor='pink';
            }
        }
                {
            let i = 1;
                        items[i].onclick=function (){
                items[i].style.backgroundColor='pink';
            }
        }
                {
            let i = 2;
                        items[i].onclick=function (){
                items[i].style.backgroundColor='pink';
            }
        }
    </script>
</body>
</html>

const命令

声明常量

const AA = 'xiaohao'

1.一定要赋初始值
2.一般常量使用大写(潜规则)
3.常量的值不能修改
4.也具有块级作用域

{
    const pyaler = 'uzi'
}
console.log(player) //error

5.对于数组和对象的元素修改,不算作对常量的修改

const team = ['uzi','MXLG','Ming','Letme'];
team.push('Meiko'); //不报错,常量地址没有发生变化,值发生改变就会报错

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值