众所周知javascript是解释性语言,主要特点为解释一行执行一行。
而在js运行时会进行三件事:1语法分析 2.预编译 3.解释执行
语法分析会在代码执行前对代码进行通篇检查,以排除一些低级错误
预编译发生在代码执行的前一刻
解释执行顾名思义就是执行代码
下面我们来看一下真正的预编译:
预编译(精装版本):
预编译的四部曲:
1.创建GO/AO对象
2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined
3.将实参值和形参统一
4.在函数体里面找函数声明,值赋予函数体
转自:https://blog.csdn.net/Bombas/article/details/80827756
参考:https://blog.csdn.net/q1056843325/article/details/52951114