js的预编译
// 什么是预编译: 引擎会在解释javaScript代码之前对其进行编译,编译阶段中的一部分工作就是找到所有的声明,并用适合的作用域将它们关联起来// 预编译什么时候发生:预编译分为全局预编译和局部预编译,全局预编译发生在页面加载完成时执行,而局部预编译发生在函数执行的前一刻// 全局编译的步骤// 1、生成GO(global object)对象, 这个GO就是window// 2、将全局的变量声明(的名)储存GO对象中,value为undefined// 3、将全局的函数声明的函数名