跳转到:

翻译正在进行中。

当前的执行上下文。在有具体值的上下文中,并且表达式是可见,那么它们都能够被引用。如果一个变量或者其他表达式不在 "当前的作用域",那么它们将不可被使用。 作用域也可以根据代码层次分层,以便子作用域可以访问父作用域,但反之不行。

一个函数可以作为一个闭包在JavaScript中使用,从而创建了一个作用域,以便(例如) 在一个函数内定义的变量不能从函数外访问或从其他函数内访问。例如,下面的代码是无效的:

function exampleFunction() {
    var x = "declared inside function";  // x只能在exampleFunction函数中使用
    console.log("Inside function");
    console.log(x);
}

console.log(x);  // 引发error

但是,由于变量在函数外被声明为全局变量,因此下面的代码是有效的:

var x = "declared outside function";

exampleFunction();

function exampleFunction() {
    console.log("Inside function");
    console.log(x);
}

console.log("Outside function");
console.log(x);

了解更多

基础知识

 

文档标签和贡献者

此页面的贡献者: Capchen, walwimp, ziyunfei, ArcherGrey
最后编辑者: Capchen,