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-Object 有另一个 Key (CAR) 引用另一个 Object。

但我建议您定义一个为您创建对象的函数,因为 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 回答