3

私は、パターンを使用して「モジュール」(つまり、事実上パブリック静的クラス)を定義するプロジェクトに取り組んでいます。各モジュールにはinit()、モジュールが定義されたら呼び出す必要のあるがあります。次のようになります。

MyNamespace.MyModule = (function () {
    var my = {};
    my.init = function(config) {
        // setup initial state using config
    };
    return my;
})();

このコードベースには、デフォルトを定義するための2つのパターンがconfigあり、どちらが良いのか疑問に思っています。すぐにはわからない長所と短所があるかどうか。推奨事項?

これが最初です:

MyNamespace.MyModule = (function () {
    var my = {}, 
        username,
        policyId,
        displayRows;

    my.init = function(config) {
        config = config || {};
        username = config.username || 'Anonymous';
        policyId = config.policyId || null;
        displayRows = config.displayRows || 50;
    };

    return my;
})();

そしてここに2番目があります:

MyNamespace.MyModule = (function () {
    var my = {}, 
        username = 'Anonymous',
        policyId = null,
        displayRows = 50;

    my.init = function(config) {
        config = config || {};
        username = config.username || username;
        policyId = config.policyId || policyId;
        displayRows = config.displayRows || displayRows;
    };

    return my;
})();
4

1 に答える 1

4

大きな違いはありません。実際には、何が読めるかがすべてです。デフォルトをロジックから分離するため、個人的には2番目の方法が好きです。

于 2012-04-10T16:24:14.807 に答える