变量提升练习
1.变量提升的面试题
var x = 30;
function test(){
    console.log(x);
    var x = 10;
    console.log(x);
    x=20;
    function x(){
    };
    console.log(x)
}
test();

分析:
第一步:
test是函数,每个函数作用域也首先要进行预解析,var,function声明的变量或者函数首先变量提升,但是函数的优先级高于变量,所以预解析池最终结果为function x(){}
第二步:
从上往下,逐步执行: 第一个alert(x)中的x向上查找,直至找到预解析池,function x(){},
第二个alert(x)中的x向上查找,找到var x=10;, 弹出 10;
第二个alert(x)中的x向上查找,找到 x=10;, 弹出 20;

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号