JS中函式內套函式的呼叫

前端小菜鳥發表於2015-04-03

如果函式裡面套了一個函式,而且有return。那麼有兩種方法呼叫裡面巢狀的函式

function f1() {
    var n = 99;
    function f2() {
        alert(n);
    }
    return f2;
    //因為返回了f2,所以呼叫f1()時,返回的是函式f2
}

1,把函式賦值f1給變數,那麼呼叫變數時相當於呼叫f1的返回值——函式f2

function f1() {
    var n = 99;
    function f2() {
        alert(n);
    }
    return f2;
    //因為返回了f2,所以呼叫f1()時,返回的是函式f2
}
<span style="color:#3366ff;">var result = f1();
result();</span>


2,在f1()後面加個(),表示再一次呼叫返回值

function f1() {
    var n = 99;
    function f2() {
        alert(n);
    }
    return f2;
    //因為返回了f2,所以呼叫f1()時,返回的是函式f2
}
<span style="color:#3366ff;">f1()();</span>



相關文章