0

ここに私が取り組んでいるリソースファイルがあります。これは適切に機能していますが、最終的には CAR、BUS、AIRPLANE が複数の変数で使用されます。

TRANSPORT =
    {
        name        :   'Transport',
        size        :   3,        
        CAR         :
                    {
                        titles      :   ['Small Car'],        
                        coValues    :   [0.1751],
                        size        :   1
                    },
        BUS         :
                    {
                        titles      :   ['Regular'],        
                        coValues    :   [0.2751],
                        size        :   1  
                    },

        AIRPLANE    :
                    {
                        titles      :   ['Boeing'],        
                        coValues    :   [1.11],
                        size        :   1
                    }   
    };

この .js があれば

CAR :
     {
          titles        :   ['Small Car'],        
          coValues  :   [0.1751],
          size      :   1
     },    
TRANSPORT =
        {
            name        :   'Transport',
            size        :   3,                     

            BUS         :
                        {
                            titles      :   ['Regular'],        
                            coValues    :   [0.2751],
                            size        :   1  
                        },

            AIRPLANE    :
                        {
                            titles      :   ['Boeing'],        
                            coValues    :   [1.11],
                            size        :   1
                        }   
        };

Transport オブジェクトに単一の CAR オブジェクトを含めるにはどうすればよいですか。どう呼べばいいのか本当にわからない。

さらに、CAR オブジェクトを非公開にして、このファイルの外部から直接アクセスできないようにするにはどうすればよいでしょうか?

4

1 に答える 1

1

次の方法で、オブジェクトを別のオブジェクトのメンバーとして含めることができます。

TRANSPORT.CAR = {...};

また

TRANSPORT['CAR'] = {...};

コードを実行すると、TRANSPORT オブジェクトは、別のオブジェクトを参照する別のキー (CAR) を取得しています。

ただし、CAR、BUS、AIRPLANE は同じように構造化されており、同じキー名を持っているため、オブジェクトを作成する関数を定義することをお勧めします。

function createTransportObject(title,value,size){
   return {
      titles : title,        
      coValues  : value,
      size : size
   };

}

次に、これを行うことができます:

var TRANSPORT = {};
TRANSPORT.name = 'Transport';
TRANSPORT.size = 3;

TRANSPORT.CAR = createTransportObject('car',[0.1751],1);
TRANSPORT.BUS = createTransportObject(...);
TRANSPORT['AIRPLANE'] = createTransportObject(...);

これがお役に立てば幸いです。

于 2013-06-07T17:58:15.900 に答える