如果在任何函数定义之外声明了一个变量,则该变量为全局变量,且该变量的值在整个持续范围内都可以访问和修改。
简而言之:适用于整个代码中各个函数,写在函数之外
如果在函数定义内声明了一个变量,则该变量为局部变量。每次执行该函数时都会创建和破坏该变量;且它不能被该函数外的任何事物访问。
简而言之:只适用于单个函数,写在要使用的函数之内
局部变量一定要以var申明,否则是全局变量。
闭包:
假设函数a和函数b
1、函数b嵌套在函数a内部;
2、函数a返回函数b。
代码中函数a的内部函数b,被函数a外面的一个变量c引用的时候,这就叫创建了一个闭包。