💡
原文英文,约600词,阅读约需2分钟。
📝
内容提要
块作用域指在大括号内声明的变量和函数仅在该块内可访问。var 属于函数或全局作用域,而 let 和 const 属于块作用域。相同名称的变量会发生遮蔽,let 和 const 不能被 var 遮蔽。
🎯
关键要点
- 块作用域指在大括号内声明的变量和函数仅在该块内可访问。
- var 属于函数或全局作用域,而 let 和 const 属于块作用域。
- 相同名称的变量会发生遮蔽,块内的变量会遮蔽块外的变量。
- let 和 const 具有独立的内存空间,且只能在块内访问。
- var 可以在块外访问,因为它是全局或函数作用域。
- 非法遮蔽:不能用 var 遮蔽 let,但可以用 let 遮蔽 let。
- let 和 const 的遮蔽规则适用于相同名称的变量。
❓
延伸问答
什么是块作用域?
块作用域是指在大括号内声明的变量和函数仅在该块内可访问。
var、let和const的作用域有什么区别?
var属于函数或全局作用域,而let和const属于块作用域。
什么是变量遮蔽?
变量遮蔽是指在块内声明的同名变量会遮蔽块外的同名变量。
let和const的内存空间有什么特点?
let和const具有独立的内存空间,且只能在块内访问。
var能否遮蔽let或const?
var不能遮蔽let,但可以被let遮蔽。
如何处理同名变量的遮蔽?
在块内声明的同名变量会遮蔽块外的变量,且let和const的遮蔽规则适用于相同名称的变量。
➡️