JavaScript(七)

点点圈 提交于 2019-12-27 07:01:26

JavaScript(七)

预编译

JS运行的步骤:
1、语法分析
2、预编译
3、解释执行

函数声明整体提前,变量 声明提前
作用域 全局window(Global Object) 局部作用 (AO Activation Object)
function fun1(){     //c a 暗示成了全局变量
  a = 123;
  var b = c = 10;
}

函数中的预编译 发生在,函数执行前的那一刻

全局预编译

生成了一个GO对象 其他的三步和函数中是一致

例如:
var a = 2;
console.log(a);
function fun(){
  console.log(a);
  function a(){};
  a = 5;
  b = 10;
  console.log(b);
  function b(){};
}
fun();
var a = function (){};
function a(){};
function b(){};
console.log(a);
console.log(b);
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!