何为作用域
作用域就如它的字面意思,就是一个变量和函数的可以访问到的范围,
js的作用域是靠函数形成的,也就是说一个函数的变量在函数外不可以访问
作用域又分为两种
- 全局作用域
- 局部作用域
全局作用域
函数外面定义的变量为全局作用域
另:
- 未定义直接赋值的变量自动声明为全局作用域
- window对象的属性拥有全局作用
var a=1
function child(){
var b=2
c=3
return b
}
console.log(a) 2
console.log(b) error
console.log(c) 3
局部作用域
局部作用域一般只在如函数内部可以访问到,所以在一些地方会把这种作用域成为函数作用域(也就是局部作用域)
如上代码所示
b是函数内部声明并赋值,拥有局部作用域,只能带函数child内部使用,在child外部使用就会报错,这就是局部作用域的特性,外部无法访问