手记

JavaScript之声明提升

声明提升

声明在编译阶段即会执行,故其被提升了,而赋值将留在原位等待执行。

haha();
function haha(){
  console.log('haha');
}
// 这段代码将输出: haha
console.log(a);
var a = 123;
// 这段代码将报错: undefined

以伪代码分别表示上面两段代码的预编译形式:

function haha(){
  console.log('haha');
};
haha();
var a;
console.log(a);
a = 123;

这个东西就是偏理论派,面试的时候很可能会问到,但实际应用很少(谁这样写,我去拍死他)。

3人推荐
随时随地看视频
慕课网APP