首先,这三个在js里都是定义变量的关键字。
var:定义变量是不需要初始化,不初始化的话,会输出undefined,不会报错;在函数内部定义的变量,在函数外部也可以使用。
例:
var a; // 不会报错,会输出undefined
var a = 1; // 正确
function fun(){
var a = 3;
console.log(a); //在函数内部可以输出 3;
}
fun();
console.log(a); //在函数外部也可以输出 3;
let:是个块级作用域,函数内部定义的,对函数外部不影响。(也就是在内部定义的变量,外部不能用)。
例:
let a = 1;
console.log(a); //输出的是 1;
function fun(){
let a = 3;
console.log(a); //在函数内部输出的是修改的值 3;
}
fun();
console.log(a); //在函数外部不受内部的影响 输出的值是 1;
const:定义的变量不可以修改,并且一定要初始化。
例:
const a; // 会报错,因为没有初始化
const a = 1; //正确
console.log(a); //有输出值。
const a = 3;
console.log(a); //因为不能修改,所以无法输出
注:如果有什么别的区别可以留言交流。