1. 程式人生 > >JavaScript基礎概念之----閉包

JavaScript基礎概念之----閉包

scrip javascrip bsp style ole fun 閉包 rip 能夠

閉包 是由作用域鏈引起的。

var parent = function(){
    var a = ‘hello‘;
    return function(){
        console.log(a);
    }
}

var my = parent();
my();//輸出‘hello‘,因為返回的函數可以通過作用域鏈訪問a

如上代碼:

定義parent函數,返回一個匿名函數,並從全局作用域調用這個返回的匿名函數。

因為匿名函數被定義在parent函數內部,因此,它被調用後仍然能夠訪問parent函數的作用域。這就是閉包。

//另一個例子
var myfunc = function
(arg){ return { myMethod:function(){ return arg; } } } var my = myfunc(‘hello‘) my.myMethod(); //返回 hello

JavaScript基礎概念之----閉包