1、变量提升(整个程序没有运行,而是先编译,在编译过程中进行)
在全局作用域里用var声明的变量和在函数作用域里用var声明的变量和用function命令声明的函数,程序会自动将这三种方式声明的变量提升到它所在的作用域的最前面,这就叫做变量提升。
全局变量:在整个程序起作用的变量;
局部变量:仅仅在函数内部起作用的变量,在函数外部失效。
2、变量的访问:会访问离目标最近的变量,若前后距离相等,则选择后面的变量。
3、变量的声明不仅仅可以用var,还能直接用num =value的方式声明,但用此方式声明的变量不能进行函数提升,并且默认为全局变量。
var num=2;声明一个变量并赋初值,变量的赋值可以是任意的数据类型
||
var num;声明
num=2;赋值
function func(){
var i=2;
||
var i;
i=2;
}
function func (){}
func的作用域是全局,所以它写在代码块的前后都可以,因为程序会将他的声明自动提到程序最前面。