JavaScript 中的“作用域”是什么意思?

在 JavaScript 中,"作用域"(Scope)是定义变量、函数和对象可访问性的规则集合。它确定在代码中的哪些部分可以访问或引用特定的变量、函数或对象。

JavaScript 中有两种主要类型的作用域:

1:全局作用域(Global Scope):全局作用域是在代码中没有包裹在任何函数内部的部分。在全局作用域中声明的变量可以在代码中的任何位置访问。全局作用域中声明的变量和函数在整个应用程序中都是可见的。

示例:

var globalVariable = 'I am a global variable';

function globalFunction() {
  console.log('I am a global function');
}

console.log(globalVariable); // 输出:I am a global variable
globalFunction(); // 输出:I am a global function

2:局部作用域(Local Scope):局部作用域是在函数内部创建的作用域。在局部作用域中声明的变量只能在函数内部访问。这意味着在函数外部是无法访问这些变量的。

示例:

    function localFunction() {
      var localVariable = 'I am a local variable';
      console.log(localVariable);
    }

    localFunction(); // 输出:I am a local variable
    console.log(localVariable); // 抛出 ReferenceError: localVariable is not defined

作用域还涉及到一个重要的概念,即变量的"作用域链"(Scope Chain)。当在某个作用域中查找变量时,如果当前作用域没有该变量,JavaScript 引擎会继续向上查找,直到找到该变量或达到全局作用域。这个变量查找的路径就是作用域链。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容