js 预编译

函数预编译发生在函数执行的前一刻。

1、创建AO对象

2、找形参变量声明,将变量和形参名作为AO属性名,值为undefined

3、将实参和形参统一

4、在函数体里面找函数声明,赋值与函数体

实例1

1 function fn(a) {                                           
 2     console.log(a);
 3     var a = 23;                        
 4     console.log(a);
 5 
 6     function a() {}
 7     console.log(a);
 8     var b = function() {}
 9     console.log(b);
10 
11     function d() {}
12 }
13 fn(1)

实例2

 1 function test(a,b){
 2     console.log(a);
 3     console.log(b);
 4     var b=234;
 5     console.log(234);
 6     a=123;
 7     console.log(a);
 8     function a(){}
 9     var a;
10     b=234;
11     var b=funciton(){}
12     console.log(a);
13     console.log(b);
14 }
15 test(1);

 

posted @ 2018-08-03 13:25  Millet_23  阅读(143)  评论(0编辑  收藏  举报