私は新しいページのためにいくつかの構造を始める方法を理解しようとしています。
このページは「Orders」と呼ばれ、今のところ「OrdersTab」と「TasksTab」の2つのタブがあります。
私は次のようなレイアウト設定を持っています:
//Namespace for the 'Orders' page.
var Orders = (function () {
    "use strict";
    var tabs = $('#OrdersTabs').tabs();
    var ordersTab = new OrdersTab();
    var tasksTab = new TasksTab();
    //Public methods:
    return {
    };
})(); //Load when ready.
ここでの私の意図は、Orders名前空間がタブのロードを担当するようにすることです。OrdersTabとTasksTabをOrdersと同じ「名前空間」に保持する方法を理解するのに苦労しています。理想的には、別のページでOrdersTabをインスタンス化することはできません。
//Namespace for the 'OrdersTab' from the 'Orders' page.
function OrdersTab() {
    "use strict";
    var ordersGrid = $('#OrdersGrid');
    var ordersGridPager = $('#OrdersGridPager');
    ordersGrid.jqGrid({
        url: '../Orders/GetOrders/',
        datatype: 'json',
        colNames: ['Name', 'Description'],
        colModel: [
            { name: 'Name', index: 'Name', sortable: false, width: 150 },
            { name: 'Description', index: 'Description', sortable: false, width: 300 }
        ],
        gridview: true,
        height: 'auto',
        rowNum: 10,
        pager: ordersGridPager,
        viewrecords: true
    });
    //Public methods:
    return {
    };
};
OrdersはOrders.jsにあり、OrdersTabはOrdersTab.jsにあります。新しいOrdersTabが「誤って」他の誰かによって作成されたり、関数名が誤ってあいまいになったりする可能性があるように思われます。OrdersTabを別のファイルに保持しながら、Ordersの「名前空間」内にラップすることは可能ですか?各タブが予想より大きくなる場合や、将来的に追加のタブを導入できるようにする場合は、個別のファイルが必要だと思います。
さらに、両方のファイル間で同じセットアップ構造を使用できるかどうか疑問に思いました。Ordersの変数に割り当てるのは厄介なようですが、OrdersTabを使用して関数を作成するだけです。たぶんそれはOKで標準ですが、私は知りたいだけです。