JavaScript的变量作用域和闭包操作

变量的作用域:

每个函数来定义作用域,函数内部用var来声明的,他们的作用域只在本函数内有用。函数可以用来创造函数作用域。此时的函数像一层半透明的玻璃,在函数里面可以看到外面的变量,而在函数外面无法看到函数里的变量。

function Foo() {

    var i = 0;
    return function() {
        console.log(i++);
    }
}
 
var f1 = Foo(),
    f2 = Foo();
f1();
f1();
f2();
答案是:0   1   0
 

function Foo() {

    var i = 0;
    return function() {
        console.log(i++);
    }
}
 
var f2 = Foo();
Foo()();
Foo()();
f2();
答案是:0   0   0
posted @ 2018-05-05 10:22  朱珠的猪  阅读(98)  评论(0编辑  收藏  举报