1. 程式人生 > >函式表示式

函式表示式

function out(num){
    (function (){
        for(var i=0; i<num; i++){
            console.log(i);
        }
    })();
    console.log(i);
}
out(4);

//塊級作用域。在FOR迴圈外部新增一個私有作用域。在匿名函式中定義的任何變數,都會在執行結束時被銷燬。

因此,變數i只能在迴圈中使用,使用後就被銷燬。而在私有作用域中能夠訪問變數num,是因為這個匿名函式是一個裝飾,它能夠訪問包含作用域中的所有變數。