标签搜索

JavaScript——预编译

橙cc
2020-08-25 / 0 评论 / 46 阅读 / 正在检测是否收录...

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()里不会报错。

1

评论 (0)

取消