作用域和闭包(1)

作用域:
1、全局变量:
(1)声明在函数外部的变量;
(2)没用使用var关键字,使用直接赋值的方式的变量。
作用范围:全局变量在整函数生命周期都有效;在没有赋值之前调用,会输出undefind。
eg:
1)、var a = 100;//显示声明
2)、 b = 200;//隐式声明

  2、函数作用域:
                声明在函数内部的变量。
          作用范围:在函数内部声明的变量只能在函数内访问,在函数外部访问不了。
test.png
result.png
  3、块作用域:
               块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。
           1)、var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
           2)、let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。
           3)、const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。
block.png
result2.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容