MDRY

导航

var-let-const

使用var关键字声明的全局作用域变量属于window对象

使用let关键字声明的全局作用域变量不属于window对象

使用var关键字声明的变量在任何地方都可以修改

 

在相同的作用域或块级作用域中,不能使用let关键字来重置var关键字声明的变量。

在相同的作用域或块级作用域中,不能使用let关键字来重置let关键字声明的变量。

 

let声明的变量只在let命令所在的代码块内有效,const声明一个只读的常量,一旦声明,常量的值就不能改变,var在全局范围内有效

let只能声明一次,var可以声明多次

for循环计数器很适合用let(因为let只在本轮循坏中有效)

let不存在变量的提升,var会变量提升:

 

变量 b 用 var 声明存在变量提升,所以当脚本开始运行的时候,b 已经存在了,但是还没有赋值,所以会输出 undefined。

变量 a 用 let 声明不存在变量提升,在声明变量 a 之前,a 不存在,所以会报错。

 

let关键字在不同作用域,或不用块级作用域中是可以重新声明赋值的。

在相同的作用域或块级作用域中,不能使用const关键字来重置var和let关键字声明的变量。

在相同的作用域或块级作用域中,不能使用const关键字来重置const关键字声明的变量

 

const 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的

var关键字定义的变量可以先使用后声明。

let关键字定义的变量需要先声明再使用。

const关键字定义的常量,声明时必须进行初始化,且初始化后不可再修改。

posted on 2022-09-15 20:08  小懵丹儿  阅读(15)  评论(0编辑  收藏  举报