程序员鸡皮
文章 分类 评论
323 4 39

站点介绍

一名PHP全栈程序员的日常......

什么是作用域?什么是作用域链?

abzzp 2026-02-06 402 1条评论 前端 前端

首页 / 正文
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流,喜欢吃红薯或粉条的也可以私聊我......

发布于2024-07-04

当进入一个执行上下文时,执行上下文也会关联一个作用域链。

  1. 作用域链是一个对象列表,用于变量标识符的求值。
  2. 当进入一个执行上下文时,这个作用域链被创建,并且根据代码的类型,添加一系列的对象。

ECMA文档:每个执行上下文都与一个作用域链相关,作用域链是一个对象列表,这些对象在评估一个标识符时被搜索,当控制权进入一个执行上下文时,根据代码的类型,一个作用域链被创建并填充初始的对象集。

复杂代码的执行过程的内存图

我们来看下面一部分代码:

var height = 1.88

function other(){
    var age = 18;
    function inner(){
     var name = "name";
     debugger;
     console.log(name,age,height);
    }
    return inner;
}

var fn = other();
fn();

全局执行上下文内存图

执行到other函数

执行到other函数

执行完other函数,并返回inner地址

执行完other函数,并返回inner地址

执行inner函数(作用域链访问)

执行inner函数(作用域链访问)

inner执行完后效果图

感谢大家观看!

评论(1)

  1. 什么是作用域链以及作用域链在javascript中的作用是什么? - 程序员鸡皮-前端程序员|PHP程序员|全栈程序员 游客 2026-03-31 21:29 回复

    [...]回顾如何定义作用域链如何定义'作用域'?说明不同类型的作用域作用域链Scope Chain是JavaScript中的一个基本概念,它属于确定当前执行代码的上下文变量的查找和访问机制。在作用域的构建基于词法作用域的解构,即变量和函数的可见性由它们在源代码中的位置决定。在JavaScript中,每个执行上下文如函数执行上下文都绑有一个与之关联的作用域链。这个作用域就是一个包含多个环境记录Environ[...]

文章目录

最新评论

  • 姓名测试打分

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 凡梦星尘

    友链已经添加好了,欢迎回访哈

  • 生辰八字算命

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 生辰八字算命

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 茗辰原

    马克吐温的作品就很经典,小时候很爱看

  • 姓名测试打分

    文章不错支持一下,非常喜欢

  • 姓名测试打分

    文章不错非常喜欢,支持

日历

2026年11月

日一二三四五六
1234567
891011121314
15161718192021
22232425262728
2930     

站点公告
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流,喜欢吃红薯或粉条的也可以私聊我......
点击小铃铛关闭
配色方案