-
在JavaScript中 {} 外面的作用域, 我们就称之为全局作用域
-
在JavaScript中函数后面的{}中的作用域, 我们就称之为局部作用域
-
在ES6中只要{}没有和函数结合在一起,而是和其他含{}的语句在一起(如if(){}语句), 那么就称之为块级作用域
// 块级作用域 if(){ } switch () { } while (){ } do { }while (); for (;;){ } -
块级作用域和局部作用域的区别
-
在块级作用域中通过 var 定义的变量是全局变量
{ // 块级作用域 var num = 123; // 全局变量 } console.log(num); -
在局部作用域中通过 var 定义的变量是局部变量
function test() { var value = 666; // 局部变量 } test(); // 不管调不调用函数, 这里都访问不了value console.log(value);
-
-
无论是在块级作用域还是在局部作用域中, 省略变量前面的let或者var就会变成一个全局变量
-
注意点: 在企业开发中一定不要省略大括号
// var num = 678; // 全局变量 // let num = 678; // 局部变量 num = 678; // 全局变量 } console.log(num);function test() { // var num = 123; // 局部变量 // let num = 123; // 局部变量 num = 123; // 全局变量 } test(); console.log(num);
-
46-函数中变量作用域
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 关于作用域,变量提升,函数提升的个人理解 参考: 阮一峰的JavaScript参考教程2.7函数部分 思否上一篇关...
- JS 函数 函数分为两类具名函数、匿名函数,其变型可以包括自执行函数、递归函数 具名函数含有名字的函数functi...