JavaScript——预编译

javascript的两大特点:

     1、单线程

     2、解释性语言


js运行三部曲

     1、语法分析

     2、预编译

     3、解释执行


预编译前奏

     1、暗示全局变量:

          即任何变量:如果变量未经声明就赋值,此变量就为全局对象所有。

         eg: a = 123;

         eg: var a = b = 123;

     2、一切声明的全局变量,全是window的属性。

         eg:  var a = 123; ====> window.a = 123;


预编译四部曲

     1、创建AO对象(Activation Object,执行期上下文)。

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

     3、将实参值和形参统一。

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

         注:if语句里不能定义函数。

                未经声明的变量唯一放在typeof()里不会报错。

posted @ 2020-08-25 00:20  橙cc  阅读(37)  评论(0编辑  收藏  举报