js的预编译

js执行的三步:语法检查,预编译,解释执行.

js预编译前:window对象==全局

1.任何位置上的变量未声明直接赋值是全局变量,发到window里

2.在函数外声明的变量也是全局,放到window里.

 

 

js预编译时:对函数来说

1.生成函数的AO对象(作用域)

2.把函数的形参和变量声明放到AO对象中,作为属性

3.形参和实参相对应(实参的值传给形参)

4.把函数声明的函数名放到AO对象里,作为属性

 

js预编译结束后,进行解释执行,执行时,变量和函数的声明不执行

posted @ 2018-04-15 17:01  圣殿骑士团  阅读(95)  评论(0)    收藏  举报