javascript中的作用域
javascript的作用域分为局部作用域和全局作用域
一、全局作用域
- 变量在函数外定义,即为全局变量。
- 在script标签中或一个独立js文件中定义的就是全局作用域。
二、局部作用域
1、函数作用域
- 写在函数内部的都是局部作用域,只能在函数内部访问。
- 不同函数之间不能访问对方的变量。
2、块级作用域
- 块级作用域是ES6中新增的。
- 由{ }大括号包裹并且没有和函数结合为块级作用域。
- let和const在{ }中声明的变量为局部变量,var在块级作用域中声明的变量是全局变量。
- 不同块级作用域之间的变量不能互相访问。
注意1:在块级作用域中用var定义的变量为全局变量,在函数作用域中用var定义的变量为局部变量。
注意2:只要出现let,在相同的作用域内出现相同的变量就会报错。
学习的课程:李南江的前端课程 (他的简书https://www.jianshu.com/p/c73f5124d69f)
(查了好多资料,看了好多人的文章,我感觉我肯定吃透了作用域的知识,结果去看题的时候发现又不怎么会了)