js var let const 的区别

一.在ES6(ES2015)出现之前,JavaScript中声明变量就只有 var 关键字,函数声明是 function 关键字,而在ES6之后,声明的方式有 var 、 let 、 const 、 function 、 class 

二.var 解释

1.如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域。

举例说明:

var a=1;//全局变量

function arr(){

var a=2;//局部变量

console.log(a);}//输出2

arr()

console.log(a);//输出1

2.如果在声明变量时,省略 var 的话,该变量就会变成全局变量。

举例说明:

var a=1;//此处声明的是全局变量

function arr(){

a=2;//此处 也是全局变量

console.log(a);//输出2

}

arr();

console.log(a);//输出2

  二.let 解释

1.let具有以下特点

  1. let 声明的变量具有块作用域的特征。
  2. 在同一个块级作用域,不能重复声明变量。
  3.  let 声明存在暂时性死区(TDZ)。

function arr(){
let a=1;
let a=2;//报错 a已定义
consloe.log(a) }

  三.const 解释

cons他声明的是常量, const 声明创建一个值的只读引用。但这并不意味着它所持有的值是不可变的,只是变量标识符不能重新分配。

const a =1;

console.log(a);//输出1

const a=2;

console.log(a);//uncaught  typeErro

  

 

posted @ 2021-12-03 17:54  王小明77  阅读(65)  评论(0)    收藏  举报