一直对变量对象,活动对象,预编译,变量提升,执行上下文的时间顺序有着凌乱的认识,但是这些对理解JS语法有着很重要的作用.读了很多人的文章,都没有一个特别清晰的把这些写出来. 今天主要总结一下现阶段自己的认识. JS是解释型语言,底层是C写的,写完代码后需要解释器解析成c,再转成二进制文件才能执行. 所以一个JS代码块,先全局的词法分析(变量声明(提升).函数声明,创建全局变量)语法分析(构建语法树,查看有没有语法错误),静态作用域 全局上下文推入执行栈(全局变量对象window,全局作用域Glo