函数作用域和块级作用域--你不知道的JavaScript

Posted 玩笑过后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数作用域和块级作用域--你不知道的JavaScript相关的知识,希望对你有一定的参考价值。

 

et和const在{}内声明都会变为外部不能访问的值,但是const声明的是常量,也不能修改

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

以上是关于函数作用域和块级作用域--你不知道的JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

《你不知道的javascript》函数作用域和块作用域

《你不知道的javascript》函数作用域和块作用域

js函数作用域和块级作用域的区别

JavaScript全局作用域函数作用域和块级作用域的区别

什么是块级作用域,为什么说js没有块级作用域

《你不知道的javascript》——词法/函数/块作用域