预编译
变量声明提前
函数声明提前
变量赋值位置不变
<script type="text/javascript">
var a = 1;
console.log(a);
function test(a) {
console.log(a);
var a = 123;
console.log(a);
function a() {}
console.log(a);
var b = function() {}
console.log(b);
function d() {}
}
var c = function (){
console.log("I at C function");
}
console.log(c);
test(2);
</script>
==================
var a;
a=1;
console.log(a);
function test(a){
var a;
var b;
function a(){};
function d(){};
console.log(a);
a=123;
console.log(a);
console.log(a);
b=function(){}
console.log(b);
}
var c = function (){
console.log("I at C function");
}
console.log(c);
test(2);
var
变量提升:提升的是变量声明