快速通晓var、let以及const的区别及使用场景

在这里插入图片描述

var 和 let 使用场景

 if(true){
            var a = 10;
        }
        //返回值:10 var为全局变量,可以被输出
        console.log(a); 
        if(true){
            let b = 10;
        }
        
        //返回值:报错 let 为局部变量,不可以输出值
        console.log(b);

所以我们在判断是使用var好还是let好就会产生疑问?
当然是let 好,当在放弃使用var 全局变量使用完并且不设置为null会导致内存泄漏,非要使用var可以放在自执行函数中,防止内存泄漏(延展出垃圾回收和内存泄漏得问题)

const使用场景

const PI = 3.1415926  //const用来定义不能改变的值 -->即定义常量
        const obj = { //const 可以用来定义对象
            name:"张三",
            age:12
        }
        obj = {name:"李四"} //不可以改成新的对象,因为它是常量
        obj.name = "王五" //可以修改对象

什么时候用let ,什么时候用const?
计算定义的变量使用let,let定义的变量相,存在栈内存中,
定义一个函数表达式、对象、不变的值可以用const ,const 定义的常量存在堆内存

总结

var:var定义得变量没有函数作用域概念,在函数外定义是全局变量,在函数内定义是局部变量,拥有变量提升,可以重复声明,后面会将前面得覆盖
let:定义的变量有块级作用域概念,所声明得变量只在let命令所在得代码块有效,没有变量提升,不能够重复声明
const:定义常量、基本上和let一样,是块级作用域,没有变量提升,不能够重复声明,可以修改属性,但是不可以改成新的对象 ,因为它是常量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值