level 2
KyLin天师
楼主
变量声明三大关键字,var,let,const。
一,var
1.在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量。
我们也可以通过window顶级对象获取变量值。
2,var可以重复声明同一变量,但前者会被后者覆盖掉。
3,var拥有变量提升的特殊性,比如
console.log(a) // undefined
var a = 20
是因为js在编译过程中,会将上述代码编译成下列代码。
var a
console.log(a)
a = 20
4,在函数内部声明会变成局部变量。
二,let
与var相似,但是不能够在同一作用域声明同一变量,并且没有变量提升,还存在块级作用域,var不存在。
三,const
声明一个必须初始化的常量,并且不能够改变值,在复杂数据类型中,它指向的内存地址,其实就是指向实际数据的指针,并不能够保证其数据结构不变。
欢迎大佬来指点,下面的是个人博客
网页链接
2024年02月19日 16点02分
1
一,var
1.在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量。
我们也可以通过window顶级对象获取变量值。
2,var可以重复声明同一变量,但前者会被后者覆盖掉。
3,var拥有变量提升的特殊性,比如
console.log(a) // undefined
var a = 20
是因为js在编译过程中,会将上述代码编译成下列代码。
var a
console.log(a)
a = 20
4,在函数内部声明会变成局部变量。
二,let
与var相似,但是不能够在同一作用域声明同一变量,并且没有变量提升,还存在块级作用域,var不存在。
三,const
声明一个必须初始化的常量,并且不能够改变值,在复杂数据类型中,它指向的内存地址,其实就是指向实际数据的指针,并不能够保证其数据结构不变。
欢迎大佬来指点,下面的是个人博客
网页链接