预编译 首先看一个例子 var a = 10 console.log(a); //输出为10 console.log(a) //输出为undefined var a = 10 出现这种情况的原因是:js解释型语言 ,也就是解释一行执行一行,第一种情况是正常输出,第二种之所以会输出undefined 而不是报错就是归功于预编译 js代码执