闭包—-2

有一个朋友问了我一道题,看了一下发现是对闭包的概念理解不清,下面拿来与大家分享一下.
闭包:
定义在外层函数里的内层函数,能访问外层函数的变量。
请看下面两个例子:

var a = 'a';
function inner () {
    console.log(a);
}
function outter () {
    var a = 'b';
    inner();
}
outter();// a

析:
函数的作用域在定义的时候被确定.

var a = 'a';
function outter () {
    var a = 'b';
    function inner () {
        console.log(a);
    }
    inner();
}
outter();//b

析:
闭包能访问函数里的变量,并能保存着所在函数的作用域.

此条目发表在JavaScript分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注