`

作用域

 
阅读更多

SS 静态作用域(Static Scope) 也叫词法域(Lexical Scope)  

DS 动态作用域(Dynamic Scope)

什么是作用域

简单的说“一个变量在什么范围内产生作用”。像java有public,private等关键字描述类的作用域;像js,没有块作用域,最小是函数级作用域。这两种语言都是静态作用域。

 

静态作用域指变量或声明的作用域是根据程序编译时就确定的,有时也叫词法作用域

动态作用域则程序中某个变量所引用的对象时在运行时根据程序控制流信息来确定的

 

只有为数不多的几种语言采用动态作用域规则,大多数语言都是采用静态作用域规则,而且多是最内嵌套作用域规则。即:

①由一个声明引进的标识符在该声明所在作用域可见,而且在其内部嵌套的每个作用域也可见,除非被内部同名覆盖

②为了找到给定标识符所引用的对象,应该在当前最内层作用域里查找。找不到就依次向外层查找

分享到:
评论

相关推荐

    作用域的定义及应用

    ### 作用域的定义及应用 #### 一、引言 在编程中,作用域是一个非常重要的概念,它定义了变量、函数等标识符在程序中的有效范围。正确理解和运用作用域有助于编写出更加清晰、高效且易于维护的代码。本文将详细...

    什么是作用域?

    ### 什么是作用域? 作用域是编程语言中的一个重要概念,它定义了变量或者标识符的可见性和生命周期。简而言之,作用域确定了一个变量在哪些部分的代码中是可以被访问和使用的。 ### 变量作用域定义 在程序中,...

    函数的全局和局部作用域和变量-作用域.html

    // 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域,在全局作用域中定义的作用域 全局作用域。 在任何位置都可以访问 // 局部变量:在函数作用域之间里的一个或者...

    作用域插槽使用例子!!!

    在Vue.js框架中,作用域插槽(Scoped Slots)是一个非常重要的特性,它允许我们更加灵活地控制组件的渲染内容。这个特性使得父组件能够传递复杂的数据结构到子组件,并控制子组件内部如何呈现这些数据。现在,我们将...

    深入理解变量作用域

    ### 深入理解变量作用域 #### 一、引言 在JavaScript编程语言中,作用域是一个核心概念,它决定了变量的可见性和生命周期。作用域不仅影响着代码的执行效率,更是解决bug的关键所在。本文将从JavaScript权威指南...

    javascript变量作用域

    JavaScript 变量作用域详解 JavaScript 变量作用域是基于其特有的作用域链的。在 JavaScript 中,变量作用域是指变量可以被访问和修改的范围。 JavaScript 没有块级作用域,而是基于函数作用域和全局作用域的。 ...

    spring的bean作用域

    在Spring框架中,Bean的作用域是管理Bean实例创建和存活范围的重要概念。Bean的作用域决定了在特定上下文中,Spring容器如何管理和提供Bean的实例。在Spring中,有五种主要的Bean作用域: 1. **Singleton作用域**:...

    JSP中的常见的四种作用域

    JSP中的四种作用域 JSP 中的四种作用域是指 page、request、session 和 application,这四种作用域都是用于存储和共享数据的,下面对每种作用域进行详细的解释: 1. Page 作用域 Page 作用域是 JSP 页面的内置...

    JSP内置对象及四种作用域

    2. **request**作用域:比page作用域稍大,一个请求中的所有资源(如Servlet、JSP)都能访问在此作用域内设置的属性。这意味着,如果一个请求经过了多个Servlet或JSP,这些对象依然可用。`request.setAttribute()`...

    java内置对象作用域

    这些对象的作用域是指它们可以在代码中的哪些部分被访问和使用。理解Java内置对象的作用域对于编写高效、安全的代码至关重要。 1. **类加载器对象(ClassLoader)** 类加载器负责加载类到JVM(Java虚拟机)中。...

    C++ 作用域规则

    C++ 作用域规则 C++ 中的作用域规则是指变量的有效范围,它们在哪里创建,在哪里销毁。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。下面是 C++ 中各种类型的变量的作用...

    第四章示例代码__对象的作用域

    在编程领域,对象的作用域是理解面向对象编程(OOP)的关键概念之一。它涉及到一个变量或对象在程序中的可见性和生命周期,对于代码组织、内存管理和数据安全性具有重要意义。本章示例代码将深入探讨对象作用域的...

    js变量作用域

    ### JavaScript 变量作用域详解 #### 一、引言 在探讨JavaScript的面向对象特性之前,理解变量作用域的概念至关重要。本篇文章旨在通过一系列示例和解释,帮助读者掌握JavaScript中的变量作用域机制。 #### 二、...

    在块级作用域内声明函数

    关于ES6中let 和 const 命令的用法以及注意事项:中的报错的样式ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。

    java变量的生命周期与作用域

    方法作用域是指变量定义在方法内部的作用域,块作用域是指变量定义在块内部的作用域,类作用域是指变量定义在类内部的作用域,而实例作用域是指变量定义在实例内部的作用域。 在 Java 中,变量的生命周期和作用域是...

    DHCP服务器管理作用域.pdf

    DHCP 服务器管理作用域 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器管理作用域是计算机网络中的一种重要技术,主要用于管理和配置网络中的 IP 地址分配。下面是关于 DHCP 服务器管理作用...

    AngularJS 0005:作用域

    **AngularJS 0005:作用域** 在AngularJS框架中,作用域(Scope)是应用程序数据模型和视图之间的桥梁,它负责管理和维护应用中的数据。理解作用域是深入学习AngularJS的关键,因为它是应用程序中数据绑定的核心...

    element ui table编辑(作用域插槽)

    在 Element UI 的表格组件中,"作用域插槽"(Scoped Slot)是一种自定义列模板的方式,允许用户对表格的列内容进行高度定制,以满足复杂的业务需求。本文将深入探讨 Element UI 表格组件的编辑功能以及如何使用作用...

    Python语言基础:作用域.pptx

    Python语言的基础之一是作用域,它是程序中定义变量的一个范围,决定了变量的可访问性。作用域决定了在程序的不同部分可以使用哪些变量名。理解作用域对于编写清晰、无误的代码至关重要。 1. **作用域(Scope)** ...

    C语言、变量和函数的作用域与生存期

    C语言中的变量和函数的作用域与生存期是编程中至关重要的概念,它们直接影响到代码的组织和执行效率。首先,我们来详细了解这些知识点。 **作用域(Scope)**: 作用域指的是变量或函数在程序中可见的范围。C语言中...

Global site tag (gtag.js) - Google Analytics