美文网首页
变量提升&&执行上下文

变量提升&&执行上下文

作者: oneways | 来源:发表于2019-07-29 10:48 被阅读0次

//变量提升 预处理
js引擎在代码正式执行之前会做一个预处理的工作:
1.收集变量
2.收集函数
依据:
var 将var后边的变量定义但是不赋值 var username = undefined;
function(){} 提前定义该函数

console.log(username); //undefined
var username = 'kobe';
console.log(username); //kobe

fun();//正常执行函数
function fun(){
  console.log('fun()');
}

//执行上下文 执行上下文对象
执行上下文(execute context)EC
理解:代码执行的环境
时机:代码正式执行之前会进入到执行环境
作用域是代码定义的时候产生的。
执行上下文是代码马上要执行时产生的。
工作:
1.创建变量对象:
1)变量
2)函数及函数的参数
3)全局:window
4) 局部:抽象的但是确实存在
2.确认this的指向
1)全局:this--->window
2) 局部:this--->调用其的对象
3.创建作用域链
父级作用域链 + 当前的变量对象
4.扩展

   ECObj={
       变量对象:{变量,函数,函数的形参}
       scopeChain:  父级作用域链 + 当前的变量对象
       this:{  window  ||  调用其的对象  }
   }

执行上下文对象:this

相关文章

  • 变量函数提升与执行上下文

    变量与函数提升 作用域与执行上下文的区别 执行上下文 执行上下文栈 作用域 作用域链

  • 深入理解 JavaScript 执行上下文和执行栈

    深入理解 JavaScript 执行上下文和执行栈 函数上下文有变量提升的概念:但提升的只是声明 联系:上下文环境...

  • 块级私有上下文

    之前已经总结过: 全局执行上下文:全局对象GO-->变量提升-->代码执行 函数的执行会形成函数私有上下文:-->...

  • 你不知道的js变量提升

    所谓的js变量提升,笔者理解为就是执行上下文所引出的概念。那么我们需要着重来理解执行上下文,执行上下文理解了,所谓...

  • js 随笔

    js 执行机制: js执行上下文: 只有理解了js 执行上下文才能更好的理解 js变量提升以及 作用域和闭包 所谓...

  • 变量提升&&执行上下文

    //变量提升 预处理js引擎在代码正式执行之前会做一个预处理的工作:1.收集变量2.收集函数依据:var 将va...

  • 2019-01-07变量和函数预解析,数组,定时器弹框,当天作业

    变量和函数预解析处理执行上下文代码分为两个阶段:进入执行上下文执行代码进入执行上下文:进入执行上下文,方法的变量对...

  • 变量对象 - 2023-02-09

    变量对象 变量对象是与执行上下文相关的数据作用域,存储了在上下文中定义的变量和函数声明。因为不同执行上下文下的变量...

  • JS执行上下文

    执行上下文的概念 当代码运行时,会产生一个对应的执行环境,在这个环境中,所有变量会被事先提出来(变量提升),有的直...

  • 执行上下文

    什么是执行上下文 执行上下文(Execution contexts)是指 函数调用 在执行栈中产生的变量对象 执行...

网友评论

      本文标题:变量提升&&执行上下文

      本文链接:https://www.haomeiwen.com/subject/ytvvrctx.html