上下文在博主个人理解中就是当前代码执行的环境,下面的例子会让你更好的理解

在这里直接引用红宝书上的例子来讲解

     var color = 'blue';function changeColor(){let aColor='red'function swapColor(){let temColor=aColor;aColor=color;color=temColor;            }swapColor()}changeColor()

在此代码执行环境中,全局上下文中有一个变量color和函数changeColor,在局部上下文changeColor中有一个变量aColor与一个函数 swapColor,在局部上下文swapColor中有一个变量temColor,全局上下文与局部上下文changeColor都无法访问变量temColor。

在生活中,此处上下文的理解可以看成---合租

//假设你是swapColor的租客,现在与roomA的租客合租在某小区,color是小区保安
//changeColor是你两人合租的房,将房子公共物品aColor视为冰箱//在小区的上下文中,存在保安color与你们合租的房子changeColorvar color = 'blue';
//此时color为保安,没有你们房子的钥匙,无法进入你们的房子,使用你们的冰箱aColorfunction changeColor(){let aColor='red'
//在房子changeColor的上下文中,含有冰箱,以及你的房间swapColor和你室友的房间roomA
//当你没带房间钥匙的时候,只能访问到冰箱aColor以及你俩的房门function swapColor(){let temColor=aColor;
//当你进入到你的房间,你不仅可以出去拿冰箱里的饮料aColor=color;color=temColor;
//还能把你拿到的饮料分给保安}function roomA(){let roomMate='秘密';}swapColor()roomMateA()}changeColor()

在以上例子中,每个上下文都可以到上一级上下文中去搜索变量和函数,但任何上下文都不能到下一级上下文中去搜索。

-----例子仅作为个人见解,若有不对请大佬们批评指正

如何简单理解执行上下文?相关推荐

  1. js变量后面加问号是什么_js没那么简单(1)-- 执行上下文

    前言 我为什么写这个文章?也许换个耳熟能详的话题会有更多人看吧.之前发了个tls感觉阅读量不行. 要讲ecma语法吗?我觉得还是不了吧,毕竟这些繁琐,枯燥,而且门槛低. 那讲什么好?讲一点我自己觉得大 ...

  2. 前端进击的巨人(一):执行上下文与执行栈,变量对象

    写在开篇 已经不敢自称前端小白,曾经吹过的牛逼总要一点点去实现. 正如前领导说的,自己喝酒吹过的牛皮,跪着都得含着泪去实现. 那么没有年终完美总结,来个新年莽撞开始可好. 进击巨人系列开篇,不忘初心, ...

  3. 前端进击的巨人(1):执行上下文与执行栈,变量对象

    (给前端大全加星标,提升前端技能) 作者:以乐之名 https://segmentfault.com/a/1190000017890535 写在开篇 已经不敢自称前端小白,曾经吹过的牛逼总要一点点去实 ...

  4. js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南

    js执行环境作用域和闭包 It may seem surprising, but in my opinion the most important and fundamental concept to ...

  5. JavaScript学习系列之执行上下文与变量对象篇

    一个热爱技术的菜鸟...用点滴的积累铸就明日的达人 正文 在上一篇文章中讲解了JavaScript内存模型,其中有提到执行上下文与变量对象的概念.对于JavaScript开发者来说,理解执行上下文与变 ...

  6. 深入理解javascript原型和闭包(8)——简述【执行上下文】上

    什么是"执行上下文"(也叫做"执行上下文环境")?暂且不下定义,先看一段代码: 第一句报错,a未定义,很正常.第二句.第三句输出都是undefined,说明浏览 ...

  7. 一篇文章让你理解面试难点:执行上下文(干货满满(附面试题))

    在JavaScript的运行过程中,经常会遇到一些"奇怪"的行为,不理解为什么JavaScript会这么工作. 这时候可能就需要了解一下JavaScript执行过程中的相关内容了. ...

  8. 理解和使用NT驱动程序的执行上下文

    理解Windows NT驱动程序最重要的概念之一就是驱动程序运行时所处的"执行上下文".理解并小心地应用这个概念可以帮助你构建更快.更高效的驱动程序. NT标准内核模式驱动程序编程 ...

  9. 深入理解JavaScript执行上下文与作用域链

    文章目录 前言 一.执行上下文 1.类型 2.生命周期 2.1.创建变量对象 2.2.this绑定 2.3.创建作用域链 总结 前言 只有理解了执行上下文与作用域链,才能更好地理解JavaScript ...

最新文章

  1. 小冰公司CEO李笛:强大的AI工具不应该给企业,应该给劳动者 | MEET2021
  2. 内核同步对性能的影响及perf的安装和简单的使用
  3. python中文件读写位置的作用-Python中文件的读写、写读和追加写读三种模式的特点...
  4. pycharm导入anaconda虚拟环境问题
  5. c语言铁路托运行李费用图,3.为铁路部门编写计算运费的程序。假设铁路托运行李,规定每张客票托运费计算方法是:行李重量不超过50kg...
  6. nhibernate many-to-one 没有匹配项时的异常
  7. Tomcat下找不到properties文件
  8. 安卓开发文档_鸿蒙2.0,HarmonyOS开发体验!
  9. 国服服务器_伊丁天堂国服|服务器类型建议收集
  10. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 E. Half-consecutive Numbers
  11. python机器学习库sklearn——集成方法(Bagging、Boosting、随机森林RF、AdaBoost、GBDT)
  12. 优秀的 Spring Boot 语言开源项目
  13. BT5的登陆用户名和密码
  14. 华为手机刷机功能总结
  15. 【Multisim】关于Multisim仿真“运放积分器”出现的问题以及解决方法
  16. C语言实现拟合直线方程
  17. Jira开发实践、ScriptRunner插件开发总结
  18. 在经济寒冬的乱七八糟的瞎说
  19. 绝对值不等式 AcWing 104. 货仓选址
  20. 杭州电子科技大学acm--2019

热门文章

  1. iPadOs中键盘手势大全
  2. 【问题解决】Origin显示“很抱歉,我们目前发生技术问题,请稍后再试一次”解决
  3. Oscar获奖影片《后人》高清720P中英双字下载
  4. 解决visio中的虚线框复制到word中变成实线的问题
  5. 微信小程序组件的传参
  6. 卷积操作中的same padding与valid padding
  7. 小米Android12,小米11系列支持安卓12开发者预览版 还有一加9系列
  8. 微软应用商店无法加载页面解决方案
  9. 基于华为LiteOS和NB-IoT的智慧楼宇消防系统
  10. php cgi限制,php cgi对单个流量最大执行时间和作用域