4

誰かがこれら2つの機能の違いを説明できますか?

(function(Engine, $, undefined) { //hidden from scope
    //public function below
    Engine.Init = function() {
        console.log("IM PUBLIC");
    }

    //anonymous functions below
    function Login() {
        console.log("IM PRIVATE");
    }
})( window.Engine = window.Engine || {}, jQuery );

具体的には、Engine.Init()で利用できるのに利用できない理由を知りたいです。ConsoleLogin

4

4 に答える 4

0

この事

function(Engine, $, undefined) {
...
}

実際には閉鎖です。したがって、その関数内で定義されているものはすべて、そのスコープでのみ使用できます。あなたがするとき

Engine.Init = ...

Engine オブジェクトにアタッチされるプロパティを作成します。あなたの場合、エンジンはグローバル オブジェクトです。つまり、コンソールからアクセスできます。

于 2013-08-15T15:20:55.230 に答える