首页 > 其他 > 详细

var、let和const

时间:2021-04-29 10:13:51      阅读:25      评论:0      收藏:0      [点我收藏+]

1.var关键字

1).使用var定义的变量会成为包含它的函数的局部变量,;例如,在一个函数内部定义夜歌变量,即意味着该变量在函数退出时被销毁。

function test() {
    var msg = "hello"//局部变量
}
    test()
    console.log(msg)//出错!

2).去掉var,变量就变成了全局变量(不推荐此做法)

function test() {
    msg = "hello"// 全局变量
}
    test()
    console.log(msg)// hello

3).使用var声明的变量会自动提升到函数作用域顶部 (“提升”,就是把所有变量声明都拉到函数作用域顶部)

function test() {
    console.log(age);
    var age = 22;
}
    test();//undefin   

等同于

function test() {
    var age;
    console.log(age);
    var age = 22;
}
    test();//undefined

2.let的声明及与var的区别

1)let与var作用差不多,其最明显的区别是,let声明的是块作用域,var声明的是函数作用域。

if (true) {
    var age = 18
    console.log(age)//18
}
    console.log(age)//18

if (true) {
    let age = 18
    console.log(age)//18
}
    console.log(age)//ReferenceError:age 没有定义

2)let声明的变量不会再作用域中被提升


3)与var不同,let再全局作用域中声明的变量不会成为window对象的属性(var则会)

            var name = ‘Jack‘
            console.log(window.name)//Jack
            
            let age = 18
            console.log(window.age)//undefined

3.const的声明与区别

1)const与let基本相同,唯一一个重要区别: 用const声明变量时必须同时初始化变量,且该变量无法被修改,也不允许重复声明。

var、let和const

原文:https://www.cnblogs.com/WDlong/p/14716377.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!