0

JS でモジュール パターンを見つけました。

<script>
var MODULENAME = (function(my, $) {
    my.publicVar = "5";
    my.publicFn = function() {};
    return my;
}(MODULENAME || {}, jQuery));
</script>

ただし、インスタンス化を実行できません。モジュールパターンはそれを可能にしますか?

4

3 に答える 3

1

モジュール オブジェクトには何でも含めることができます。おそらく、コンストラクターを含めることを探しているでしょう:

var MODULENAME = (function(my, $) {

    var privateVar = 10;
    my.SomeConstructor = function() {
        this.publicVar = 5;
    }
    my.SomeConstructor.prototype.someMethod = function() {};
    my.SomeConstructor.prototype.getPrivate = function() { return 10; };

    return my;
}(MODULENAME || {}, jQuery));

var instance = new MODULENAME.SomeConstructor();
instance.publicVar;    // 5
instance.privateVar;   // undefined
instance.getPrivate(); // 10
于 2013-10-11T15:20:37.787 に答える