Debuginfo

思考とアウトプット

javascriptでモジュール/ライブラリを自作する方法

ちょっとしたライブラリを作ってgithubで公開しようと思ってます。 そこで、javascriptのライブラリをどうやって作成しようか調べてました。 javasriptは関数で閉じないとグローバル変数になってしまうので、なるべくグローバル変数を使わず、汚染しないというのがポイントです。

色々やり方はあるようですが、Javascript patternsにも出てきているモジュールパターンを使うのが定石のようです。(初心者の私が)すんなり理解できるものの方が読みやすいのかも、と調べていたら下記がサイトの一つの例がよかったのでこれを使います。引数もわかりやすいですし。

http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript

var myNamespace = (function () {
    var myPrivateVar, myPrivateMethod;
    // A private counter variable
    myPrivateVar = 0;
    // A private function which logs any arguments
    myPrivateMethod = function( foo ) {
        console.log( foo );
    };
    return {
        // A public variable
        myPublicVar: "foo",
        // A public function utilizing privates
        myPublicFunction: function( bar ) {
            // Increment our private counter
            myPrivateVar++;
            // Call our private method using bar
            myPrivateMethod( bar );
        }
    };
})();