const   var  let区别

1.const 定义的变量不可以修改,而且必须初始化

const  a = 3;正确

const a;错误,必须初始化

console.log("函数外const定义a:"+"a");    有值输出;

console.log("函数外修改const定义a"+"a");   无法输出

 

 

2.var 定义的变量可以修改,如果不初始化会输出undefine

var a = 1;

console.log("函数外var定义a:+"a");

function   change(){

    a =2;

    console.log("函数内var定义a:+"a");

}

change();

console.log("函数调用后var定义a为函数内部修改值:+"a");

 

 

3.let是块级作用域,函数内部使用let定义后,对外部函数无影响

let c = 3;

console.log("函数外let定义c:"+"c");

function change(){

    let c =6;

    console.log("函数内let定义c:" + "c");

}

change();

console.log(“函数调用let定义c不受函数内部定义影响:”+“c”)