预编译发生在函数执行的前一刻,是解决执行顺序的 预编译四部曲: 1、创建AO对象 2、找形参和变量声明,将变量和形参名作为AO属性名,值为undefined 3、将实参和形参值统一 4、在函数体内找不到函数声明,值赋予函数体