函数作用域
★函数作用域
⑴调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
⑵每调用一次,函数就会创建一个新的函数作用域,它们之间是互相独立的
⑶在函数作用域中,可以访问到全局作用域的变量
在全局作用域中无法访问到函数作用域的变量
具体示例:
⑷当在函数作用域操作一个变量时,它会先在自身作用域中寻找,如果有就直接使用
示例:
⑸如果没有则向上一级作用域中寻找,直到找到全局作用域
示例:
⑹如果全局作用域中依然没有找到,则会报错 ReferenceError
示例:
⑺在函数作用域也有声明提前的特性:
使用var关键字声明的变量,会在函数中所有的代码执行之前被声明
函数声明也会在函数中所有的代码执行之前执行
示例1:
示例2:
⑻在函数中,不使用var声明的变量都会成为全局变量
示例1:
示例2:
⑼定义形参就相当于在函数作用域中声明了变量
示例1:
结果:弹出警示框中显示:20
示例2:
结果:弹出警示框中显示:undefined