作用域、变量提升的知识点,面试时会经常遇到
作用域的分类
作用域是指一个变量的作用范围
全局作用域:作用范围整个 script 标签内部,页面打开时创建,关闭时销毁
函数作用域:作用范围函数内部,随着函数调用结束而销毁
全局变量
定义在函数外的变量,都是全局变量
在函数内部,不使用 var 声明的变量 也是是全局变量
全局变量有全局作用域,可以在页面任意位置访问,包括函数中
全局变量在页面关闭后销毁
局部变量
在函数内部,使用 var 声明的变量是局部变量
在函数内部,不使用 var 声明的变量 是全局变量
函数的形参也是属于局部变量,只能在函数内部访问
局部变量,只能在函数内部访问
局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁
作用域生命周期
全局作用域在页面关闭后销毁
调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
每调用一次函数就会创建一个新的函数作用域,他们之间是互相独立的
作用域的范围
全局变量可以在任意位置访问,局部变量只能在函数内部访问