1.预编译的四个步骤1.创建AO对象2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined3.将实形值与形参值统一4.在函数体里面找函数声明,值赋予函数体例子:function fn(a){console.log(a);var a=123;console.log(a);function a(){};console.log(a);var b=function (){};console .log(b);function d(){};}fn(1)