以下关于var变量提升的特点说法正确的是?()
A: 浏览器在运行代码之前会进行预解析,首先解析函数声明、定义变量,解析完成之后在对函数进行运行、变量进行等
B: 不论var生命的变量处于当前作用域的第几行,都会提升到作用域的顶部,并且初始化为undefined
C: 而let声明的变量同样不论处于当前作用域的第几行,都会提升到作用域的顶部,当赋值时才会被初始化
D: 以上都不对
A: 浏览器在运行代码之前会进行预解析,首先解析函数声明、定义变量,解析完成之后在对函数进行运行、变量进行等
B: 不论var生命的变量处于当前作用域的第几行,都会提升到作用域的顶部,并且初始化为undefined
C: 而let声明的变量同样不论处于当前作用域的第几行,都会提升到作用域的顶部,当赋值时才会被初始化
D: 以上都不对
举一反三
- 下列关于JavaScript中作用域的说法错误的是() A: 作用域就是变量和函数的可访问范围 B: 控制着变量和函数的可见性与生命周期 C: 在JavaScript中变量的作用域有全局作用域和局部作用域 D: 变量在函数内声明或者声明的时候带var就是全局变量,拥有全局作用域
- 变量提升机制,就是所有变量声明在运行时都会提升到代码的最前方
- 关于变量的作用域下列说法不正确的是( ) A: 局部变量只有在其作用域内才有效。 B: 值类型变量一旦离开其作用域,变量就会被释放。 C: 引用类型变量一旦离开其作用域,就会被马上释放。 D: 局部变量的作用域是指声明变量的语句块内,位于声明变量之后的区域。
- 下列关于变量作用域的描述,错误的是()。 A: 变量的作用域就是指变量可使用的范围 B: 访问变量作用域之外的变量,会提示访问失败 C: 在变量定义完后,可以改变其作用域 D: 局部变量的作用域为声明该变量的块语句或方法结束的大括号之间
- 函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问