闭包的简单理解

        在看《JavaScript权威指南》第六版这本书的函数章节的时候,一个段落使我对闭包有一种豁然开朗的感觉。

        JavaScript的函数可以嵌套在其它函数中定义,这样它们就可以访问它们被定义时所处的作用域中的任何变量。这意味着JavaScript函数构成了一个闭包,它给JavaScript带来了非常强劲的编程能力。

理解闭包首先要了解嵌套函数的词法作用域规则。看一下这段代码:

var scope = "global scope";                 //全局变量

function checkscope(){

var scope = "local scope";           //局部变量

function f() { return scope; }         //在作用域中返回这个值

return f();

}

checkscope();                                        //   =>"local scope"

你可能感兴趣的:(闭包的简单理解)