【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 对于数组和对象,只是保证其引用地址不变,内部元素可以修改。
相关推荐
monkeyhlj1 小时前
AI Agent开发课程笔记记录 - 提升篇 About RAG
人工智能·笔记
苦 涩1 小时前
考研408笔记之操作系统(三)——内存管理
笔记·操作系统·考研408
爱上好庆祝1 小时前
学习js的第三天
前端·css·人工智能·学习·计算机外设·js
SunAqua2 小时前
《MCU与DSP芯片笔记》一、DSP芯片TI C2000系列TMS320F28035
笔记·单片机·嵌入式硬件
白夜11172 小时前
C++(mixins 混入模式)
开发语言·c++·笔记
前端摸鱼匠2 小时前
【AI大模型春招面试题29】对比学习(Contrastive Learning)在大模型预训练中的应用?
人工智能·学习·算法·面试·大模型·求职招聘
一尘之中2 小时前
星空彼岸:科学、宗教与“超越”的可能
学习·ai写作
苦 涩2 小时前
考研408笔记之操作系统(二)——进程与线程
笔记·操作系统·考研408
苦 涩2 小时前
考研408笔记之操作系统(一)——计算机系统概述
笔记·操作系统·考研408
三品吉他手会点灯2 小时前
C语言学习笔记 - 16.C编程预备计算机专业知识 - Hello World程序的运行原理
c语言·笔记·学习