你们都知道js 分为词法阶段 和执行阶段函数
也知道它是由于var变量和函数声明会提高测试
可是你知道他们两个谁先提高的吗spa
测试一下code
function test(){
alert(4);
}
var test;
console.log(test);
//输出了 test这个函数体blog
//奥 原来 是函数提高 先于变量提高io
//由于声明同名变量的时候是不会覆盖以前的声明的 只有赋值的时候才会被覆盖console
//若是test提高先于函数 那么就会输出undefinedfunction
//由此你明白了吧 函数声明先于变量声明!!!class
若是这样 测试 无论谁提高在前 都会输出test 由于提高在前 赋值在后 赋值会覆盖以前的声明!!!test
接下来稍微改一下就知道谁声明在前了