1. 程式人生 > >js返回匿名函式的疑惑

js返回匿名函式的疑惑

在我的概念裡程式碼段1和程式碼段2執行結果是相等的,其實不是,程式碼段1沒有執行結果,但是程式碼段2的執行結果為a

var ProxySingletonCreateDiv=function(){
    var instance="a";
    return function(){
        alert(instance);
        }
    };
ProxySingletonCreateDiv();

var ProxySingletonCreateDiv=(function(){
    var instance="a";
    return function(){
        alert(instance);
        }
    })();
ProxySingletonCreateDiv();
事實上若想程式碼段1和程式碼段2執行結果相等需要將程式碼段1改為:
var ProxySingletonCreateDiv=function(){
    var instance="a";
    return function(){
        alert(instance);
        }
    };
ProxySingletonCreateDiv()();
這樣它的執行結果就為a了