这期内容当中小编将会给大家带来有关深入浅析Javascript中上下文的执行顺序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一 执行上下文
1什么是执行上下文
执行上下文就是当前的 JavaScript 代码被解析和执行时所在环境的抽象概念, JavaScript 中运行任何的代码都是在执行上下文中运行的.
2 执行上下文的类型
执行上下文分为三种类型:
全局执行上下文:只有一个,这是默认的,也是基础的执行上下文.(不在任何函数中的代码都是全局执行上下文)他有两个作用,一个是创建了全局变量,也就是指向window下的变量,另一个是将this的指向全局.
函数执行上下文:有无数个,每个函数都拥有自己的执行上下文,但是只有在函数被调用的时候才会被创建,每次调用时,都会为该函数创建一个新的执行上下文…
Eval 函数执行上下文: 指的是运行在 eval 函数中的代码,很少用而且不建议使用。
二 执行上下文的生命周期
1.创建阶段
执行上下文的生命周期有三个阶段:创建阶段–执行阶段—回收阶段(主要说创建阶段)
当函数被调用,但没有执行任何其内部代码之前,会先确定这三个步骤:
1) 创建变量对象:首先初始化函数的参数 arguments,提升函数声明和变量声明
2) 创建作用域链:在执行期上下文的创建阶段,作用域链是在变量对象之后创建的.作用域链本身包含变量对象。
作用域链用于解析变量。当被要求解析变量时,JavaScript 始终从代码嵌套的最内层开始,如果最内层没有
找到变量,就会跳转到上一层父作用域中查找,直到找到该变量。
3) 确定 this 指向:有多种情况.
2. 执行阶段
执行变量赋值、代码执行
3. 回收阶段
执行上下文出栈等待虚拟机回收执行上下文
三. 变量提升和this的指向
1.变量声明提升:
大部分编程语言都是先声明变量再使用,但在 JS 中,事情有些不一样:
console.log(a); // undefined var a = 10;
分享题目:深入浅析Javascript中上下文的执行顺序-创新互联
浏览地址:https://www.cdcxhl.com/article4/csepie.html
成都网站建设公司_创新互联,为您提供网站策划、网站收录、网站设计公司、品牌网站制作、外贸建站、网站内链
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联