查找上一级作用域

  • 当获取变量所对应的值时,首先看变量是否是私有变量;如果不是私有变量,要继续向上一级作用域中查找,如果上一级也没有,那么会继续向上一级作用域查找,直到找到全局作用域为止;如果全局作用域也没有,会报错;这样一级一级向上查找,就会形成作用域链
  • 当前函数的上一级作用域跟函数在哪个作用域下执行没有关系,只跟函数在哪定义有关
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>/*var  a=10;function sum() {var a =0;console.log(a);}sum();/*/// 0/* var  a=10;function sum() {console.log(a);var a =0;}sum();*/// undefined/*var  a=10;function sum(a) {// 形参也是私有变量;console.log(a);// undefined}sum();*/
/*var  a=10;function sum() {// 形参也是私有变量;console.log(a);// 10  当前作用域没有a,那么会继续向上一级作用域查找;}sum();*//*var  num=10;function s() {var num=100;return function () {// 函数的定义:console.log(num);}}var  f = s();// s的执行结果是return后面的函数;f();*/// f的上一级作用域就是s执行所形成的私有作用域;// 当前函数的上一级作用域跟函数在哪个作用域下执行没有关系,只跟函数在哪定义有关,var  num=10;function s() {return function () {console.log(num);}}var  f = s();// s的执行结果是return后面的函数;f();// 当获取变量所对应的值时,首先看变量是否是私有变量;如果不是私有变量,要继续向上一级作用域中查找,如果上一级也没有,那么会继续向上一级作用域查找,直到找到全局作用域为止;如果全局作用域也没有,会报错;这样一级一级向上查找,就会形成作用域链
</script>
</body>
</html>
复制代码

查找上一级作用域(作用域链)相关推荐

  1. 【金三银四】 一文弄懂 js 数据类型、堆栈内存、作用域(链)、闭包知识拓展 (一)

    引言 对答如流系列篇,关于基本数据类型.堆栈内存.作用域作用域链.闭包 大家好,这里是lionLoveVue,基础知识决定了编程思维,学如逆水行舟,不进则退.金三银四,为了面试也还在慢慢积累知识,Gi ...

  2. linux 打开上一级目录,linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志...

    第二波命令正向我方来袭 :开机启动过程.PATH.过滤一级目录.cd的参数.ls -lrt.命令切割日志 1.1 linux开机启动过程 1.1.1 开机自检(BIOS)-- MBR引导-- GRUB ...

  3. jquery通过a标签获取其上一级tr标签

    <tr> <td>a</td> <td>上海市</td> <td>市辖区</td> <td>2014-0 ...

  4. Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决 参考文章: (1)Python中import导入上一级目录模块及循环import问题的解决 (2)https://www.cn ...

  5. Python中文件路径如果需要回退到上一级怎么办?

    如果文件或文件夹和自己处于同一级则以"./"开头,比如下面的语句: img = cv.imread('./images/food-01.jpg') 此时文件夹images与这行代码 ...

  6. 在AWS上搭建NEO私有链(1)

    2019独角兽企业重金招聘Python工程师标准>>> 上周,我们介绍了如何安装CLI以及接入NEO公链. 但是,我们还不能在这种环境下直接部署合约,直接部署将会花费我们约500GA ...

  7. 埃森哲咨询公司为何拥有世界上最多的区块链职位空缺

    埃森哲咨询公司为何拥有世界上最多的区块链职位空缺 全球企业对区块链投入了巨额资金,这项作为数字货币底层技术的数字账本技术允许信息在不同方之间安全流动.2017年,区块链相关的职位空缺的总量翻了一番,在 ...

  8. iphone11返回上一级手势怎么设置_苹果iphone12怎么关闭程序appp 怎么返回上一步

    苹果iphone12怎么关闭程序appp 怎么返回上一步 相信有很多朋友还不太熟悉iphone12系列的使用方法,今天小编就为大家带来了,iphone12怎么关闭程序,以及iphone12怎么返回上一 ...

  9. python 使用raise语句主动抛出异常(Exception)、将异常抛出给上一级

    主动抛出异常 示例: 参考文章:使用Python提供的raise语句主动抛出异常 将异常抛出给上一级 示例: # -*- coding: utf-8 -*- """ @F ...

最新文章

  1. 阻塞队列只有一个线程在同一时刻对其进行或者读或者写
  2. 修正IE6重复文字bug
  3. 前端学习(2375):项目介绍结束
  4. 【Mysql】之视图操作
  5. 二叉树的一些leetcode题目+python(c++)
  6. DevExpress中获取GridControl排序之后的List
  7. python解析原理_Python 中 -m 的典型用法、原理解析与发展演变
  8. tf.nn.embedding_lookup()函数
  9. 苏浪浪 201771010120 第三周 Java基本程序设计总结
  10. JS键盘事件对象之keyCode、charCode、which属性对比
  11. Git之(一)Git是什么
  12. 【Alpha版本】冲刺阶段——Day 1
  13. 3GPP 5GNR 物理层协议梳理
  14. 只有VOB文件也可以制作成DVD——用IfoEdit建立IFO篇(最好的方法)
  15. Unity基于YooAssets资源管理1
  16. 文档中如何插入计算机剪贴画,如何在Word中使用菜单命令插入图片和剪贴画
  17. Android - WebView接入H5客服照片/视频上传
  18. 零基础ATMEGA8(1)
  19. java程序设计微课版普运伟_Java程序设计(微课版)
  20. SystemWeaver — 电子电气协同设计研发平台

热门文章

  1. 10.14-10.20学习总结
  2. 名企架构师的心声:让我一次“架”个“构”
  3. 【To Do】程序员面试金典——18.11最大子方阵
  4. 动态设置HTML:v-html
  5. 【数据科学】什么是数据科学?
  6. Caffe编写Python layer
  7. python numpy : list VS np.array
  8. Docker Compose 引用环境变量
  9. Linux下不停止服务,清空nohup.out文件
  10. 【OpenCV新手教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑