首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

全局作用、函数作用、块级作用理解

1.前言 作用是任何一门编程语言中重中之重,因为它控制着变量与参数可见性与生命周期。很惭愧,我今天才深入理解JS作用..我不配做一个程序员.....开玩笑,什么时候理解都不晚,重要是理解了以后能不能深深地扎在记忆里,不能,那就写下来 2.块级作用 在一个代码块(括在一对花括号中一组语句)中定义所有变量在代码块外部是不可见。...ES6中新增概念,在ES5中是没有的,ES5中没有? 没有的时候我们代码也写好好,现在新增概念,我不用不行吗? 来,拋一个典型问题出来,你就明白块级作用出现重要性了。...在ES5时代,还没有块级作用这个概念,但是当时也有一种解决方法,那就是.. .. .. .. .....,是可以修改内部属性,数组同理; 5.总结 主要总结一下块级作用、以及块级作用出现意义,方便更好记住。

3K10
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript中作用作用

值得注意是:块语句(大括号“{}”中间语句),如 if 和 switch 条件语句或 for 和 while 循环语句,不像函数,它们不会创建一个新作用。...块级作用在如下情况被创建: 1.在一个函数内部。 2.在一个代码块(由一对花括号包裹)内部。 let 声明语法与 var 语法一致。...——要到创建 fn 函数那个作用域中取,无论 fn 函数将在哪里调用。 所以,不要在用以上说法了。相比而言,用这句话描述会更加贴切: “要到创建这个函数那个”。...作用域中取值,这里强调是“创建”,而不是“调用”**,切记切记——其实这就是所谓"静态作用" var a = 10 function fn() { var b = 20 function...取 b 值时,直接在 fn 作用取出。取 a 值时,试图在 fn 作用取,但是取不到,只能转向创建 fn 那个作用域中去查找,结果找到了,所以最后结果是 30。

2.1K10

作用作用简单理解

作用作用作用 javascript采用静态作用,也可以称为词法作用,意思是说作用是在定义时候就创建了, 而不是运行时候。...思路是完美的,可是js作者采用静态作用,不管你们怎么运行,你们 定义时候作用已经生成了。 那么什么是作用? 变量和函数能被有效访问区域或者集合。作用决定了代码块之间资源可访问性。...作用也就是一个独立空间,用于保护变量防止泄露,也起到隔离作用。每个作用变量可以相同命名,互不干涉。就像一栋房子一样,每家每户都是独立,就是作用。...作用又分为全局作用和函数作用,块级作用。 全局作用任何地方都可以访问到,如window,Math等全局对象。 函数作用就是函数内部变量和方法,函数外部是无法访问到。...块级作用指变量声明代码段外是不可访问,如let,const. 作用链 知道作用后,我们来说说什么是作用链? 表示一个作用可以访问到变量一个集合。

78231

作用作用解释说明

javascript中作用是指变量与函数可访问范围。作用分为两类,一种是全局作用,一种是局部作用。全局变量拥有全局作用,在JavaScript代码中任何地方都有定义。...局部变量是在函数体内声明而且只作用在函数体内部以及该函数体子函数变量。下面我们对全局作用和局部作用来做一个深入理解。 全局作用 全局变量拥有全局作用,在代码任何地方都有定义。...i值复制给实参num,在匿名函数内部又创建了一个用于访问num匿名函数,这样每个函数都有了一个num副本,互不影响了。...2.使用let声明变量i 在上面我们提到了,let声明变量有块级作用一说,来看一下他运行原理: var data = [];// 创建一个数组data; // 进入第一次循环 { let...上面的块级作用,就像函数作用一样,函数执行完毕,其中变量会被销毁,但是因为这个代码块中存在一个闭包,闭包作用链中引用着块级作用,所以在闭包被调用之前,这个块级作用内部变量不会被销毁。

1.1K20

【Groovy】Groovy 脚本调用 ( Groovy 脚本中作用 | 本地作用 | 绑定作用 )

文章目录 一、Groovy 脚本中作用 ( 本地作用 | 绑定作用 ) 二、Groovy 脚本中作用代码示例 一、Groovy 脚本中作用 ( 本地作用 | 绑定作用 ) ----...; 但是有如下区别 ; age 变量作用是 本地作用 , 相当于 private 私有变量 ; age2 变量作用是 绑定作用 , 相当于 public 共有变量 ; 声明一个方法 , 在下面的函数中..., 可以使用 绑定作用变量 , 不能使用 本地作用变量 ; =/* 定义一个函数 在下面的函数中 , 可以使用 绑定作用变量 不能使用 本地作用变量 */ void...错误 ; 二、Groovy 脚本中作用代码示例 ---- 代码示例 : 注意 , 此时代码中有错误 , println "$age" 代码 , 中 age 是本地作用变量 , 在函数中无法访问到..., 会报错 ; 函数中只能访问 绑定作用变量 ; /* 下面的 age 和 age2 都是变量定义 age 变量作用是 本地作用 age2 变量作用是 绑定作用

1.1K20

变量作用

变量作用 在JavaScript中,根据作用不同,变量可以分为两种: 全局变量 局部变量 1. 全局变量 在全局作用下声明变量叫做全局变量(在函数外部定义变量)。...全局变量在代码任何位置都可以使用 在全局作用下 var 声明变量 是全局变量 特殊情况下,在函数内不使用 var 声明变量也是全局变量(不建议使用) 2.局部变量 在局部作用下声明变量叫做局部变量...(在函数内部定义变量) 局部变量只能在该函数内部使用 在函数内部 var 声明变量是局部变量 函数形参实际上就是局部变量 3.全局变量和局部变量区别 全局变量:在任何一个地方都可以使用...,只有在浏览器关闭时才会被销毁,因此比较占内存 局部变量:只在函数内部使用,当其所在代码块被执行时,会被初始化;当代码块运行结束后,就会被销毁,因此更节省内存空间

71631

JavaScript作用和块级作用概念理解

本文作者:IMWeb 秦至 原文出处:IMWeb社区 未经同意,禁止转载 作用 作用永远都是任何一门编程语言中重中之重,因为它控制着变量与参数可见性与生命周期。...说到这里我们需要理解两个概念:块级作用与函数作用。 函数作用 这个应该好理解,函数作用就是说定义在函数中参数和变量在函数外部是不可见。 大多数类C语言都拥有块级作用,JS却没有。...块级作用 ---- 任何一对花括号中语句集都属于一个块,在这之中定义所有变量在代码块外都是不可见,我们称之为块级作用。...也就是说,JS并不支持块级作用,它只支持函数作用,而且在一个函数中任何位置定义变量在该函数中任何地方都是可见。 那么我们该如何使JS拥有块级作用呢?...该作用之外程序是无法访问它们。 Happy hacking!

62120

变量作用

动态作用读取变量结果, 其实与上方回写变量方式差不多, 不同是, 动态作用保留了全局变量原始值....既然原始值留下来了, 那自然就要能够读到, 否则留他何用, 读取方式就是下面的静态作用了....静态作用 静态作用也是通过变量对照表来实现, 与动态作用不同是, 每个函数能看到变量对照表只有自己和全局, 上面的函数调用, 换成静态作用大概如下: ?...现象 了解了变量作用相关内容, 也就能够解释最开始遇到现象了. 再来回看一下最开始问题, 为什么在Python 2.0中, 闭包读取到变量是全局变量呢? 很明显, 其使用了静态作用导致....在 Python 中有两个关键字对变量进行声明: global: 声明全局变量, 既通过静态作用方式查找变量 nolocal: 通过动态作用方式查找变量 当然, Python中通过上面关键字标识变量修改

92120

JavaScript作用和块级作用概念理解

作用 作用永远都是任何一门编程语言中重中之重,因为它控制着变量与参数可见性与生命周期。说到这里我们需要理解两个概念:块级作用与函数作用。...函数作用 这个应该好理解,函数作用就是说定义在函数中参数和变量在函数外部是不可见。 大多数类C语言都拥有块级作用,JS却没有。...块级作用 任何一对花括号中语句集都属于一个块,在这之中定义所有变量在代码块外都是不可见,我们称之为块级作用。...也就是说,JS并不支持块级作用,它只支持函数作用,而且在一个函数中任何位置定义变量在该函数中任何地方都是可见。 那么我们该如何使JS拥有块级作用呢?...该作用之外程序是无法访问它们。 Happy hacking!

84650

Python变量:创建、类型、命名规则和作用详解

变量变量是用于存储数据值容器。创建变量Python没有用于声明变量命令。变量在您第一次为其分配值时被创建。...示例这将创建两个不同变量:a = 4A = "Sally"# A不会覆盖a变量名变量可以具有短名称(如x和y)或更具描述性名称(age、carname、total_volume)。...对于数字,+字符作为数学运算符起作用:示例x = 5y = 10print(x + y)在print()函数中,当您尝试使用+运算符将字符串和数字组合在一起时,Python会报错:示例x = 5y =...示例在函数之外创建一个变量,并在函数内部使用它:x = "awesome"def myfunc(): print("Python is " + x)myfunc()如果您在函数内部创建了一个具有相同名称变量...("Python is " + x)global关键字通常,当您在函数内部创建一个变量时,该变量是局部,只能在该函数内部使用。

35600

java作用-翻译:⚡⛓️可视化 JavaScript作用(链)

对于 函数而言,作用链(Scope Chain)看起来像这样(别担心看不懂,现在还不需要完全理解):   作用链(Scope Chain)基本上就是对象之间“引用链”,包括了该执行上下文( )中可引用值和对其他作用引用...当执行上下文被创建时,作用链就被创建了,这意味着它是在运行时()被创建。   然而,在这篇文章中我不会讨论 Object 和执行上下文( ),让我们只关注作用(Scope)。   ...为了找到 city 值, 引擎会“沿着作用链往下走”。这基本上意味着 引擎不会轻易地放弃:它会尽力查找,看看能否在本地作用所引用外部作用域中找到变量 city 值。...我们可以沿着作用链往下走java作用,但是不能沿着作用链往上走。(好吧,这可能会引起混乱,有些人会反过来理解“上”和“下”意思。...甚至可以有更多层次:   让我们以这段代码为例:   跟之前代码很相似,只是有两点不同:我们在函数中声明了变量city,而不是在全局作用域中声明。而且,我们没有调用函数,所以也没有创建本地上下文。

44120

js作用作用链和它一些优化

随着ECMAScript标准不断发展和完善,JavaScript目前存在着四种作用类型:全局作用(Global Scope): JavaScript语言环境最顶级作用,在语言环境初始化时创建。...块级作用(Block Scope): 由ECMAScript2015变量声明标识符let和const引入,在使用这两者进行变量声明时,根据最近一对花括号{}创建。.../* 全局作用 start,JavaScript语言环境初始化时就被创建 *//* 模块作用 start,作为ES Module解析和执行时被创建 */let name = 'Wu';{ /* 块级作用...一个作用能够在自身内部创建一个新作用从而形成内部和外部作用嵌套关系。全局作用作为JavaScript初始作用,是所有其他作用最外层作用。...我们可以看出,词法环境是JavaScript对作用概念内部技术实现。它是JavaScript引擎创建一个执行上下文时,创建用来存储变量和函数声明环境。

1.7K00

计算服务器硬盘多大 服务器作用

服务器应用变得越来越广泛了,比较常见用于建站、企业办公系统、数据库、搭建APP等,作用是非常强大,而依靠计算技术,也让不少公司服务器能力得到大幅提升。...计算服务器硬盘多大 既然选择了服务器,其实很多企业用户都是因为想要追求更大硬盘空间,那么计算服务器硬盘多大就是他们比较关心了,虽然以后可以扩容,但到底还是一开始就选空间充裕更好。...服务器作用 对于计算服务器硬盘多大,相信大家已经有所了解了,现实中可以根据自身需求和未来规划,来决定要多达硬盘。那么服务器硬盘作用是什么呢?...再者是可以用来作为中转盘使用,解决数据迁移难题,起到拷贝和备份作用储存还是很安全。...以上就是关于计算服务器硬盘多大相关介绍,服务器上面的数据大多都比较重要,需要被储存下来,而硬盘就起到这个作用,容量是需要去选择

21.3K10

bean作用解析

说明   意义 1.在Spring中,Bean作用可以通过scope属性来指定。        ...2.指定作用目的是 存储在此类单例bean高速缓存中,并且对该命名bean所有后续请求和引用都返回该高速缓存对象。...(session存储在对应请求构建请求对象里面setAttribute)       5)application:application则是作用整个应用里面多个applicationcontext...共享       6)包括自定义作用 代码展示 // mbd 指的是前面部分 final RootBeanDefinition mbd = getMergedLocalBeanDefinition(...分析汇总   1.对于作用,本质上是存储在此类单例bean高速缓存中,并且对该命名bean所有后续请求和引用都返回该高速缓存对象,便是为了达到以空间换时间优化方式。

36430

一、变量作用

一、变量作用 测试代码: public class Test1 { private static int value = 1; // 全局变量 private static int...上图中,实线箭头左边数值型可以自动转换为实线箭头右边数值型。...因此,如果希望把基本类型值转换为对应字符串,可以把基本类型值和一个空字符串进行连接。...2.强制类型转换 如果希望把箭头右边类型转换为左边类型,则必须使用强制类型转换,强制类型转换格式是:(target Type)value,强制类型转换运算符是圆括号。...当强制类型转换时,类似于把大瓶子里水倒进小瓶子里,如果大瓶子里水不多还好,但如果大瓶子里水很多,将会引起溢出,从而造成数据丢失。

61230
领券