JavaScript函数作用域

深藏阁楼爱情的钟 2022-01-27 11:39 477阅读 0赞

1、什么是作用域?

规定了我们定义的变量在某些范围下才能生效的规则

2、有哪些作用域?

全局作用域 & 函数作用域 & 块级作用域

全局作用域:在当前文件中的所有函数,块中都有效,不管let还是

函数作用域:只在某个函数里面有效,不管是var或者let都可以

块级作用域:只在if判断、for循环等语句里面有效,需要使用let关键字声明

全局作用域:在当前文件中的所有函数,块中都有效

20190526162549135.png

函数作用域:只在某个函数里面有效,不管是var或者let都可以

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTQ1OTM1_size_16_color_FFFFFF_t_70

块级作用域:只在if判断、for循环等语句里面有效,需要使用let关键字声明

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTQ1OTM1_size_16_color_FFFFFF_t_70 1

20190526162549143.png

3、关于let的一些说明

  1. let声明的变量具有块级作用域
  2. let声明的变量不允许重复声明
  3. let声明的变量不会进行变量提升

4、注意事项

在es5里面,变量作用域只分为两种类型,一种是“全局作用域”,一种是“函数作用域”。在es6里面才拥有块级作用域,即if判断、for循环等语句都有自己独立的作用域

5、不同作用域变量的访问问题

访问优先级:里层能访问外层,外层不能访问里层

  • 块级能访问局部,局部能访问全局,
  • 全局不能访问局部,局部不能访问块级

访问变量时,先在当前作用域查找,然后在去上层作用域查找

发表评论

表情:
评论列表 (有 0 条评论,477人围观)

还没有评论,来说两句吧...

相关阅读

    相关 javascript函数变量的作用

    一 介绍 1、变量的作用域指明变量在程序中的作用范围。 2、在函数外定义的变量可以称为全局变量,它在页面声明此变量后的任何程序段位置都可以使用,使用全局变量,可以实现不同程