变量提升:
使用var声明的变量(包括函数)其声明会被提升到方法体最顶部,而赋值不会被提升;
未使用var声明的变量,不会被提升;
使用函数表达式function bar(){}定义的函数会函数声明连带函数体提升到方法体最顶部(var a = functon(){}的优先级要低于function a(){} ,且不会提升函数体)
(注意:js中不存在块作用域,即:if else 这些的作用域都是函数本身。)
使用var声明的变量(包括函数)其声明会被提升到方法体最顶部,而赋值不会被提升;
未使用var声明的变量,不会被提升;
使用函数表达式function bar(){}定义的函数会函数声明连带函数体提升到方法体最顶部(var a = functon(){}的优先级要低于function a(){} ,且不会提升函数体)
(注意:js中不存在块作用域,即:if else 这些的作用域都是函数本身。)