var,let,const声明变量?

var 与 let 的区别?

1.var支持变量预检测,let不支持

     console.log(a); // undefined 程序不会报错
    var a = 1;
    console.log(b); //程序报错  b is not defined
    let b = 2;
2.let 不支持重复声明

var a = 1;
    var a = 10;
    console.log(a); // 10

    let b = 2;
    let b = 200;
    console.log(b); //程序报错 Identifier 'b' has already been declared  变量已经被声明了
3.let 支持块级作用域

{
    var a = 100;
}
    console.log(a); // 100
{
    let b = 200;
}
    console.log(b); //程序报错  b is not defined 

 

const 声明常量,声明后不可被重新赋值。

    const c = 3.14;
    const c = 3.15; ////程序报错 Identifier 'c' has already been declared  变量已经被声明了
    console.log(c);

const  与 let 基本一致,但是也有区别。

1. const在声明的时候必须给初始化值,否则会报错

2. const声明的常量不可被再次修改

 

const 在声明常量的时候,有些情况是可以修改的

    const obj = {};
    obj.name = '我是1';
    console.log(obj);
    obj.name = '我是2';
    console.log(obj);

在这里不能修改obj这个对象,但是可以对对象里面的值进行修改。

posted @ 2018-09-17 22:13  乐得逍遥  阅读(136)  评论(0编辑  收藏  举报