var,let,cont声明变量的区别

1.var

-支持全局、函数作用域
-接受重复声明
-变量预解析
// 作用域
var aa=1;
function fn(){
    var  aa=10;
    console.log(aa); 
}
fn();// 输出的是10
console.log(aa); // 输出的是1
console.log(aa); // undefined,变量预解析
var aa=1;

2.let

-不接受重复声明
-不存在变量提升
-支持块作用域(es6新提出的概念)
console.log(aa); // 报错,没有变量预解析
let aa=1;

let aa=1;
let aa=10; // 报错,aa已经被声明过了

3.const

-特性同let
-用来声明常量,一旦声明不能更改
console.log(aa); // 报错,没有变量预解析
const aa=1;

const aa=1; 
const aa=10; // 报错,aa已经被声明过了

猜你喜欢

转载自www.cnblogs.com/bonly-ge/p/9262723.html
今日推荐