定义Resources.JS

时间:2013-06-07 17:30:59

标签: javascript

这是我正在处理的资源文件。这个工作正常,但最终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对象设为私有,以便无法直接在此文件之外访问?

1 个答案:

答案 0 :(得分: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(...);

我希望这会对你有所帮助。