Javascript 定义Resources.JS
这是我正在处理的一个资源文件。这是一个正常工作,但最终汽车,公共汽车和飞机将在多个变量中使用Javascript 定义Resources.JS,javascript,Javascript,这是我正在处理的一个资源文件。这是一个正常工作,但最终汽车,公共汽车和飞机将在多个变量中使用 TRANSPORT = { name : 'Transport', size : 3, CAR : { titles : ['Small Car'],
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
}
};
如何在运输对象中包含单个汽车对象。我真的不知道该怎么称呼它
另外,我如何将CAR对象设置为私有对象,以便无法在此文件之外直接访问它?您可以通过以下方式将一个对象包含为另一个对象的成员:
TRANSPORT.CAR = {...};
或
运行代码时,传输对象已获得另一个引用另一个对象的密钥(汽车)
但我建议您定义一个函数,为您创建一个对象,因为汽车、公共汽车和飞机的结构相似,并且具有相同的键名:
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(...);
我希望这能对您有所帮助。我不明白要绕过这个问题需要使用的键名和函数?另外,它是一个引用/常量资源,所以我不需要为这些设置构造函数,我想我不需要。我实际上定义了一个函数,这样你就不必一遍遍地手动编写构建相似的对象。当你调用createTransportObject时,它会返回一个对象的引用,就像你手动定义它一样,因为一个对象是一个对象,它是作为引用传递或返回的:按引用调用(c++)。我有点傻,一开始没看到你做了什么:谢谢你给我看构造函数XD
var TRANSPORT = {};
TRANSPORT.name = 'Transport';
TRANSPORT.size = 3;
TRANSPORT.CAR = createTransportObject('car',[0.1751],1);
TRANSPORT.BUS = createTransportObject(...);
TRANSPORT['AIRPLANE'] = createTransportObject(...);