1

JavaScript と jQuery コードの大規模なライブラリを使用して Web サイトを開発しており、より組織化されたプラグインのような構造を提供しようとしています。自己実行匿名関数を使用してスコープを支援する方法を示す記事を読みました。これにより、「window.namespace = window.namespace || {}」手法を使用してライブラリをファイル間で拡張することもできます。

例えば:

//Self-Executing Anonymous Function:
(function( skillet, $, undefined ) {

    //Private Property
    var isHot = true;

    //Public Property
    skillet.ingredient = "eggs";

    //Public Method
    skillet.fry = function() {
        // do stuff...
    };

    //Private Method
    function addItem( item ) {
        // do stuff...
    }    
}( window.skillet = window.skillet || {}, jQuery ));

デモ: jsFiddle

私の質問は、skillet.fry() の下にパブリック メソッドを追加するにはどうすればよいかということです。したがって、skillet.fry.cancel(); のようなものを呼び出すことができます。

または、これを行うためのより良い方法があれば、提案をお待ちしています。

4

1 に答える 1

1

このようなことを試すことができます。thatのクロージャで使用できる他の変数を (とともに) 宣言することができますcancel()

skillet.fry = (function() {
    var that = {};

    that.cancel = function() {
        //...
    }

    return that;
})();
于 2013-03-13T00:07:00.637 に答える