写在开头入坑前端已经 13 个月了,不能再称自己为小白,那么现在就来学习一下 JS 的执行相关的知识。自己吹过的牛皮,含着泪跪着也要实现它! 比如,先定一个小目标:成为高级前端。加油!废话少说,进入正题执行上下文执行上下文(Execution context,EC)就是 JS 代码的执行环境,也称执行上下文环境。在 JS 中有三种代码运行环境:Clobal Code环境:JS代码默认的环境Func            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-13 20:38:03
                            
                                82阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            定义执行上下文时是代码执行时的环境,JS代码在运行前进行编译,那么会生成两部分,一部分是可执行的代码,而另一部分则是执行上下文。作用用于跟踪代码运行的运行情况。执行步骤如下:一段代码块对应一个执行上下文,被封装成函数的代码被视作一段代码块,或者“全局作用域”也被视作一段代码块。当程序运行,进入到某段代码块时,一个新的执行上下文被创建,并被放入执行栈中。当程序运行到这段代码块结尾后,对应的执行上下文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-23 21:36:48
                            
                                97阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            执行上下文执行上下文是评估和执行 JavaScript 代码的环境的抽象概念执行栈执行栈,也就是在其它编程语言中所说的“调用栈”,是一种拥有 LIFO(后进先出)数据结构的栈,被用来存储代码运行时创建的所有执行上下文。当 JavaScript 引擎第一次遇到你的脚本时,它会创建一个全局的执行上下文并且压入当前执行栈。每当引擎遇到一个函数调用,它会为该函数创建一个新的执行上下文并压入栈的顶部。引擎会            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-06 17:06:17
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            0、开场白  在平时编写JavaScript代码时,我们并不会和执行上下文直接接触,但是想要彻底搞懂JavaScript函数的话,执行上下文是我们绕不过去的一个知识点。1、执行上下文栈  JavaScript在对一个函数的每次调用,都会创建一个执行上下文,然后基于这个执行上下文运行函数体内的代码。一个函数可能会创建无数的执行上下文,因为对函数的每次调用(即使在函数内部调用自己)都会创建一个具有新状            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-06 10:56:43
                            
                                109阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题。比如先来一个简单一点的。console.log(a);   // 这里会打印出什么?var a = 20;暂时先不管这个例子,我们先引入一个JavaScript中最基础,但同时也是最重要的一个概念执行上下文(Execution Context)。每次当控制器转到可执行代码的时候,就会进入一个执行上下文。执行上下文可以理解为当前代码的执            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-03 09:31:13
                            
                                65阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、执行上下文(Execution Context)
1. 什么是执行上下文简而言之,执行上下文就是当前 JavaScript 代码被解析和执行时所在环境的抽象概念, JavaScript 中运行任何的代码都是在执行上下文中运行2. 执行上下文的类型执行上下文总共有三种类型:全局执行上下文: 这是默认的、最基础的执行上下文。不在任何函数中的代码都位于全局执行上下文中。它做了两件事:1. 创建一个全            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-22 15:20:25
                            
                                70阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在JavaScript中,你的代码将总是有着某种形式的上下文(代码在其内部工作的对象)。这也是其它面向对象语言所共有的功能,但它们都不如JavaScript处理得这样极端。上下文是通过变量this工作。变量this总是引用代码当前所在的那个对象。记住全局对象实际上是window对象的属性。这意味着即使是在全局上下文里,this 变量仍然引用一个对象。上下文可以成为一个强大的工具,是面向对象代码不可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-26 22:35:50
                            
                                89阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 变量提升-函数声明提升的本质 在js代码中,通过var定义的变量或者是通过function声明的函数为什么能在定义之前就调用呢?在上一节中我们知道js引擎存在变量提升机制,那么变量提升的本质是什么呢? 本质:执行上下文 2. 什么是执行上下文 执行上下文就是我们写的js代码在执行前js引擎帮我 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-14 22:01:00
                            
                                179阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            英文 | https://medium.com/@MeowMeow-afk/execution-context-in-javascript-164435701192今天这篇文章,我们将了解 JavaScript 提供的黑盒,让我们的代码神奇地运行“执行上下文”。这是迄今为止最重要的主题之一,它可以使你对其他关键主题一目了然,例如,作用域、词法作用域、闭包和提升,而且学习JavaScript的真正工            
                
                    
                        
                                                            
                                                                        
                                                                                        翻译
                                                                                    
                            2022-11-09 09:14:33
                            
                                120阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            执行上下文1、如何存储  当函数运行时,会创建一个执行环境,这个执行环境就叫执行上下文  执行上下文中会创建一个对象叫做变量对象,基本数据类型都保存在变量对象中  引用数据类型的值保存在堆里,我们通过操作对象的引用地址来操作对象2、执行上下文栈  (1)执行上下文分类    JS代码在执行的时候会进入一个执行上下文,可以理解为当前代码的运行环境    在JS中运行环境主要分为全局执行上下文环境和函            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-04-03 21:36:21
                            
                                374阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            代码分类全局代码函数(局部)代码全局执行上下文(的产生)在执行全局代码前将window确定为全局执行上下文对全局数据进行预处理– var定义的全局变量赋值为undefined,添加为window的属性– function声明的全局函数, 添加为window的属性– this赋值为window开始执行全局代码函数执行上下文(的产生)在调用函数,准备执行函数体之前,创建对应的函数执行上下文对象对局部数据进行预处理– 形参变量赋值为实参,添加为执行上下文的属性– argume            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-09 10:49:39
                            
                                339阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在了解js的执行上下文对象与执行上下文栈之前,我们要先了解两个概念 即变量提升跟函数提升 变量提升 : 通过var定义的变量,在定义语句之前我们就可以直接访问到,不过它的值是undefined 函数提...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-06-20 21:11:00
                            
                                161阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在JavaScript中,执行栈和执行上下文是理解代码执行流程和作用域链的关键概念。它们决定了代码如何执行以及变量和函数如何被查找和访问。本文将详细介绍执行上下文的生命周期、执行栈的工作原理以及它们在实际编程中的应用。            
                
         
            
            
            
            JavaScript执行上下文 1.this指向1).直接调用函数,this指向全局对象2).在函数外,this指向全局对象3).通过对象调用或new一个函数,this指向调用的对象或新对象 2.使用new关键字生成一个对象的过程:1).确定所有形参值以及特殊变量arguments2).确定函数中通过var声明的变量,将它们的值设置为undefined。若1)步骤中形参中已有重名的变量名称,则直接            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-04-28 11:24:43
                            
                                77阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            目录 执行上下文类型 全局执行上下文 函数执行上下文 Eval 执行上下文 变量环境 vs 词法环境 变量环境(Variable Environment) 词法环境            
                
         
            
            
            
            目录执行上下文类型全局执行上下文函数执行上下文Eval 执行上下文变量环境 vs 词法环境变量环境(Variable Environment)词法环境(Lexical Environment)对比与差异外部环境引用与作用域链外部环境引用(Outer Reference)作用域链形成机制作用域链查找示例1. 执行上下文类型JavaScript 代码执行时,会创建三种类型的执行上下文:1.1 全局执行            
                
         
            
            
            
            在JavaScript代码执行一段可执行的代码(executable code)时,都会创建执行上下文(execution context)对于每个执行上下文,都有三个重要属性:变量对象(Variable object,VO)作用域链(Scope chain)this变量对象变量对象是与执行上下文相关的数据作用域,储存了在上下文中定义的变量和函数声明因为不同执行上下文下的变量对象稍不同,今天主要要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-19 18:55:20
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、作用域Scope和上下文Context    在javascript中,作用域scope和上下文context是两个不同的概念。每个函数调用都会伴随着scope和context,从本质上来说,scope是和函数绑定的,而context是基于对象的。即scope用于在函数调用时提供变量访问,且每次函数调用时,都不同;而context始终是关键词this的值            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-23 16:34:36
                            
                                100阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            当代码在JS中运行时,执行代码的环境非常重要,并将概括为以下几点:全局代码——第一次执行代码的默认环境。函数代码——当执行流进入函数体时            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-18 09:54:51
                            
                                147阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、执行上下文1.什么是执行上下文?简单来说,执行上下文就是当前javascript代码解析和执行时的环境的抽象概念。javascript任何代码的运行都是在执行上下文中进行的。2.执行上下文的类型全局执行下文:全局执行上下文是最基础的执行上下文。不存在于任何函数中的代码都属于全局执行上下文。全局执行上下文做了两件事:1.创建一个变量对象,将window对象赋值给该变量对象(变量对象=window            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-01 10:50:26
                            
                                128阅读