三 你不知道的javaScript读书笔记

第三章:函数作用域和块级作用域
笔记:
函数是中最常见的作用域单元 。本质上,声明在一个函数内部的变量或函数会 在所处的作用域中“隐藏”起来,这是有意为之的良好软件的设计原则 。
【三你不知道的javaScript读书笔记】但函数不是唯一的作用域单元 。块作用域指的是变量和函数不仅可以属于所处的作用域, 也可以属于某个代码块(通常指 { … } 内部) 。
从 ES3 开始, try/catch 结构在 catch 分句中具有块作用域 。
在 ES6 中引入了 let 关键字( var 关键字的表亲), 用来在任意代码块中声明变量 。if(…) { let a = 2; } 会声明一个劫持了 if 的 { … } 块的变量,并且将变量添加到这个块 中 。
有些人认为块作用域不应该完全作为函数作用域的替代方案 。两种功能应该同时存在,开 发者可以并且也应该根据需要选择使用何种作用域,创造可读、可维护的优良代码 。