【ES6复习笔记】let 和 const 命令(1)

ES6 中的 letconst 关键字

1. let 关键字

let 关键字用于声明一个变量,它具有块级作用域,这意味着变量只在声明它的块内有效。与 var 不同,let 不允许在同一作用域内重复声明同一个变量。

2. const 关键字

const 关键字用于声明一个常量,一旦声明,其值就不能被更改。与 let 一样,const 也具有块级作用域。

代码示例

let 示例

javascript 复制代码
// 声明变量
let a;
let b, c, d;
let e = 100;
let f = 521, g = 'iloveyou', h = [];

// 1. 变量不能重复声明
// let star = '罗志祥';
// let star = '小猪';

// 2. 块儿级作用域
// if else while for
// {
//     let girl = '周扬青';
// }
// console.log(girl);

// 3. 不存在变量提升
// console.log(song);
// let song = '恋爱达人';

// 4. 不影响作用域链
{
    let school = '尚硅谷';
    function fn() {
        console.log(school);
    }
    fn();
}

let应用

html 复制代码
<!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都是不同的。
    </script>
</body>
</html>

const 示例

javascript 复制代码
// 声明常量
const SCHOOL = 'xkadmin';

// 1. 一定要赋初始值
// const A;

// 2. 一般常量使用大写(潜规则)
// const a = 100;

// 3. 常量的值不能修改
// SCHOOL = 'ATGUIGU';

// 4. 块儿级作用域
// {
//     const PLAYER = 'UZI';
// }
// console.log(PLAYER);

// 5. 对于数组和对象的元素修改, 不算做对常量的修改, 不会报错
const TEAM = ['UZI', 'MXLG', 'Ming', 'Letme'];
// TEAM.push('Meiko');

总结

  • letconst 都具有块级作用域。
  • let 声明的变量可以被重新赋值,而 const 声明的常量不能被重新赋值。
  • const 对于数组和对象,只是保证其引用地址不变,内部元素可以修改。
相关推荐
汇能感知1 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun2 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
茯苓gao2 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾2 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT3 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
aaaweiaaaaaa3 小时前
HTML和CSS学习
前端·css·学习·html
ST.J3 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记
C语言小火车3 小时前
【C++八股文】基础知识篇
c++·tcp/ip·const·智能指针·多线程同步·static关键字·c++内存模型
Suckerbin3 小时前
LAMPSecurity: CTF5靶场渗透
笔记·安全·web安全·网络安全
看海天一色听风起雨落4 小时前
Python学习之装饰器
开发语言·python·学习