前端学习(ES6)const 笔记&var let const三者对比

定义

const指定基本数据类型,不能修改。指定引用数据类型,代表的是指针,属性值可以修改。

  1. 定义时一定要赋初值
  2. 命名多用大写字母表示
  3. 已定义的值不可修改
  4. 块儿级作用域
  5. 对于数组和对象的元素修改,不算做对常量的修改,不会报错(因为指针指向的地址没有修改,只是改变地址内存放的数据)
<script>
        //const 声明常量
        const SCHOOL = 'xx学院';
        //1. 定义时一定要赋初值
        const A;
        //2. 命名时大多使用大写
        //3、常量的值不能修改
        SCHOOL = 'yy';	//会报错
        //4、块儿级作用域
        {
            const PLAYER = 'UZI';
        }
        console.log(PLAYER); //报错未defined
        //5、对于数组和对象的元素修改,不算做对常量的修改,不会报错
        const TEAM = ['1','2','3'];
        TEAM.push('4');
        //可以运行,因为TEAM的地址未被改变
    </script>

var let const三者对比

let 关键字笔记
三者对比
修改值:见上定义第五点
声明提升:var执行前会先收集,但let,const不支持
va rHoisting:使用var在函数或全局内任何地方声明变量相当于在其内部最顶上声明它,这种行为称为Hoisting(提升)。

        console.log(song);	//正常打印:恋爱达人
        //var代码执行前先会收集
        var song = '恋爱达人';

JS中作用域有:全局作用域、函数作用域。没有块作用域的概念。ECMAScript 6(简称ES6)中新增了块儿级作用域。
块儿作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。
块儿级作用域:var 可以跨块访问,但不能跨函数访问;
在function内用var 定义的变量,为局部变量,只在function内生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值