码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JS中的链


    作用域链:

    JS代码需要运行在一个环境当中,这个环境称为执行上下文(execution context),执行上下文可以认为是一个对象。

    执行上下文中定义的变量,都会保存在与之关联的变量对象(variable object)中。当执行上下文中的所有代码执行完毕后,该执行上下文将销毁。

    执行上下文分为全局执行上下文和函数执行上下文。Script脚本的执行上下文就是全局上下文,而函数执行时会创建自己的执行上下文。

    JS的作用域是变量或函数定义的地方。比如函数内定义了一个变量,那么这个变量在这个函数内部可以被访问到。

    执行上下文创建的时候,一方面会关联变量对象,一方面还会创建一个作用域链(Scope chain)。作用域链可以认为是一个数组,里面放着一系列的变量对象。

    某个执行上下文的作用域链的第一项保存的是该执行上下文自己的变量对象,第二项则是父级执行上下文的变量对象,第n项如此类推,直到全局执行上下文。

    某个执行上下文中,要访问某一个变量的时候,会从该执行上下文的作用域链的第一项开始找,直到找到全局执行上下文。如果找到了返回,如果没有找到那么就抛出ReferenceError。

    可以看到变量的查找,是在一个链中去进行的。

    原型链:
    JS也是一门面向对象语言。对象之间继承的机制是原型继承,这些继承形成的链成为原型链。

    当访问对象的某个属性是,该对象实例本身没有该属性,则在其指向的原型上去找,如果还找不到,则在原型的原型上去找。如果找到了返回,找不到就抛出ReferenceError。

    基于原型链的继承,需要使用一些阻隔的手段解决污染的问题,这里不探讨。

    依赖链:
    函数需要访问的变量或数据,都是其依赖。A函数访问B函数,B函数访问C函数,这种依赖关系形成了依赖链。

    不同函数之间,虽然没有直接的相互调用关系,却依赖了相同的数据,那么他们彼此之间依然有链的关系。

    调用链:
    调用链是我们讨论的重点。程序运行的本质就是不停的调用,那么底层就是不断的计算。不管软件的功能看上去多复杂,都可以归结于是调用。

  • 相关阅读:
    【自然语言处理】【文本生成】CRINEG Loss:学习什么语言不建模
    图片压缩软件大全-免费图片压缩软件排名
    基于OpenHarmony的智能喝水提醒器
    如何正确选择ARM核心板的存储类型
    ON DUPLICATE KEY UPDATE 导致自增ID跳跃式增长
    web测试——业务测试1
    【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
    HCIP-综合实验 知识覆盖全面 建议收藏
    【数据结构】二叉树链式结构的实现
    2023版IDEA的下载、安装、配置、快捷键、模板、插件与使用
  • 原文地址:https://blog.csdn.net/qaakd/article/details/126840468
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号