JavaScript中的作用域指的是在程序中变量的可见范围。它决定了在程序中变量的可见性,以及变量的生命周期。JavaScript中有两种作用域:全局作用域和局部作用域。
全局作用域
全局作用域指的是在程序中变量的可见范围没有被任何函数或者代码块限制的情况下,变量可以被访问到的范围。在全局作用域中声明的变量或函数,可以在整个程序中被调用,而且在整个程序的生命周期中都是有效的。
// 定义一个全局变量 var globalVariable = "hello world"; // 定义一个全局函数 function globalFunction() { console.log(globalVariable); } // 全局变量可以在任何地方被调用 console.log(globalVariable); // "hello world" // 全局函数也可以在任何地方被调用 globalFunction(); // "hello world"
局部作用域
局部作用域指的是变量的可见范围受到函数或者代码块的限制,只能在函数或者代码块中被访问到。在局部作用域中声明的变量或函数,只能在函数或者代码块中被调用,而且只在函数或者代码块的生命周期中有效。
// 定义一个局部变量 function localScope() { var localVariable = "hello world"; } // 局部变量只能在函数中被调用 console.log(localVariable); // Uncaught ReferenceError: localVariable is not defined
JavaScript中的作用域控制着变量的可见性和生命周期,使得程序更加安全可靠。