1.var
如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域。举例说明:
var a = 1; //此处声明的变量a为全局变量
function foo(){
var a = 2;//此处声明的变量a为函数foo的局部变量
console.log(a);//2
}
foo();
console.log(a);//1
2.let
let声明的变量具有块作用域的特征。在同一个块级作用域,不能重复声明变量。声明的变量不存在变量提升
let a = 1;
console.log(a);//1
console.log(b);//Uncaught ReferenceError: b is not defined
let b = 2;
3.const
const声明方式,除了具有let的上述特点外,其还具备一个特点,即const定义的变量,一旦定义后,就不能修改,即const声明的为常量。
const a = 1;
console.log(a);//1
a = 2;
console.log(a);//Uncaught TypeError: Assignment to constant variable.
原创©本文章为梁鹏翱原创,未经许可,禁止转载
0条评论