dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 916|回复: 1

[前端] 理解JavaScript var、let、const

[复制链接]
  • TA的每日心情
    奋斗
    2023-6-12 00:39
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    238

    主题

    263

    帖子

    1135

    积分

    荣誉会员

    积分
    1135

    发表于 2023-6-5 15:04:59 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    一、var:1、提升
    [JavaScript] 纯文本查看 复制代码
    console.log(num); // undefined
    var num = 1;
    var定义的变量会声明提升,可以理解为:
    var num;
    console.log(num);
    num = 1;

    2、变量覆盖
    [JavaScript] 纯文本查看 复制代码
    var num = 1;
    var num = 2;
    console.log(num); // 2

    这段代码并不会报错,以上代码可以看成:
    [JavaScript] 纯文本查看 复制代码
    var num;
    num = 1;
    num = 2;
    console.log(num); // 2

    3、没有块级作用域
    [JavaScript] 纯文本查看 复制代码
    function demo(){
        for(var i=0; i<3; i++){
        }
        console.log(i);  //3
    }  

    由于没有块级作用域,循环之后,i仍然存在
    4、var在全局作用域下声明变量会挂载在 window 上
    [JavaScript] 纯文本查看 复制代码
    var num = 1;
    console.log(window.num);  // 1

    5、var是具有函数作用域的
    [AppleScript] 纯文本查看 复制代码
    var a = 1;
    function fn() {
        var a = 10
    }
    fn();
    console.log(a); // 1

    在函数中用var声明的变量和全局作用域的相同,也不会进行覆盖。
    二、let、const:
    1、const声明的变量必须赋初始值、let则不用
    2、const定义的值无法直接更改,而let定义的值可以更改
    3、let、const 定义的变量不会挂载在 window 上
    [JavaScript] 纯文本查看 复制代码
    let num1 = 1
    let num2 = 2
    console.log(window.num1)  // undefined
    console.log(window.num2)  // undefined

    4、支持块级作用域
    三、暂时性死区:
    [AppleScript] 纯文本查看 复制代码
    function demo(){
        console.log(num) // ReferenceError: num is not defined
        let num = 1
    }

    let、const 存在暂时性死区,声明前不可使用


    温馨提示:
    1、本站所有内容均为互联网收集或网友分享或网络购买,本站不破解、不翻录任何视频!
    2、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
    3、本站资源仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
    4、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会第一时间改正!
    5、若发现链接失效了请联系管理员,管理员会在2小时内修复
    6、如果有任何疑问,请加客服QQ:1300822626 2小时内回复你!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 239 天

    [LV.7]常住居民III

    1

    主题

    494

    帖子

    1709

    积分

    一代宗师

    Rank: 7Rank: 7Rank: 7

    积分
    1709

    发表于 2023-8-24 13:58:07 | 显示全部楼层
    感谢楼主分享知识!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2024-12-23 11:53 , Processed in 0.359082 second(s), 30 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表