在程序设计中,全局变量是在所有作用域都可访问的变量,与之对应的是局部变量。
在计算机科学中,局部变量是拥有局部作用域的变量。这样的变量只能由声明它的子程序或块中访问。在仅有两层可见性的程序设计语言中,局部变量对应全局变量;另一方面,许多类ALGOL语言允许任意多层的嵌套函数,各自拥有私有变量、函数、常量和类型。
在程序设计中,全局变量是在所有作用域都可访问的变量,与之对应的是局部变量。
在计算机编程领域,自动变量指的是局部作用域变量,具体来说即是在控制流进入变量作用域时系统自动为其内存管理,并在离开作用域时释放空间的一类变量。在许多程序语言中,自动变量与术语“局部变量”所指的变量实际上是同一种变量,所以通常情况下“自动变量”与“局部变量”是同义的。
在程序设计语言中,名字绑定是把实体关联到标识符。标识符绑定到实体被称为引用该对象。机器语言没有内建的标识符表示方法,但程序设计语言实现了名字与对象的绑定。绑定最初是与作用域相关,因为作用域确定了哪个名字绑定到哪个对象——在程序代码中的哪个位置与哪条执行路径。
立即调用函数表达式,是一种利用JavaScript函数生成新作用域的编程方法。
在计算机科学中,闭包,又称词法闭包或函数闭包,是在支持头等函数的编程语言中实现作用域名字绑定的一种技术。闭包在实现上是一个结构体,它存储了一个函数和一个关联的环境。环境里是若干对符号和值的对应关系,它既要包括约束变量,也要包括自由变量,有些函数也可能没有自由变量。闭包跟函数最大的不同在于,当捕捉闭包的时候,它的自由变量会在捕捉时被确定,这样即便脱离了捕捉时的上下文,它也能照常运行。捕捉时对于值的处理可以是值拷贝,也可以是名称引用,这通常由语言设计者决定,也可能由用户自行指定。
在计算机科学中,符号表是一种用于语言翻译器中的数据结构。在符号表中,程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及物理地址。
在计算机科学中,局部变量是拥有局部作用域的变量。这样的变量只能由声明它的子程序或块中访问。在仅有两层可见性的程序设计语言中,局部变量对应全局变量;另一方面,许多类ALGOL语言允许任意多层的嵌套函数,各自拥有私有变量、函数、常量和类型。