作用域
预解析
js在运行之前 做两件事情
1,找 var 声明的变量,将var声明的变量的声明提升到当前作用域的顶部,赋值保留在元素 声明提前**
2,找到function 声明的代码块 将整个函数 提升到当前作用域顶部
全局作用域
全局范围(不在函数中):即是全局作用域
全局变量:在全局作用域下声明的变量
全局变量特点:
- 在代码任意位置都可以使用
- 一个变量,没有声明直接赋值(谨慎使用) 会自动变成全局变量
函数作用域(局部作用域)
函数内部 就是局部作用域
局部作用域中声明的变量叫局部变量
特点: - 只能在当前作用域以及子集作用域下使用
- 函数内部声明变量在函数运行结束后会立即销毁
- 当当前作用域下以及上一级作用域下都有相同的变量,优先使用当前作用域下的变量,如果没有再依次向上查找找到立即停止(就近原则)
函数递归调用
概念:在函数内部自己调用自己
注意:写递归 先写条件 判断停止
利用事件来调用函数
事件:绑定在元素上,由用户的行为触发的