在JavaScript中动态重命名或设置对象名称

时间:2015-12-04 17:59:09

标签: javascript object properties constructor naming

我是JavaScript的新手,我在下面设置使用键和值来处理我需要工作的不同项目。所有值都是相同的,使用变量来区分每个项目(这只是它,但我想识别我也用于变量名称的每个项目(itemObject)。

缩写示例::

function objFunction (itemName) {
    itemObject = {
        object1Data: [{
            data1: {
                prop1: 'value',
                prop2: 'value'
            },
            data2: {
                prop1: itemName + 'some string'
                prop2: itemNamevariable
            }
        }],
        object2: {
            data: {
                prop1: itemName,
                prop2:  itemName + 'some string'
            }
        }
     }
}

或者我最好使用构造函数或其他方法?

function ObjFunction (itemName) {
    this.itemObject = {
        bject1Data: [{
            data1: {
                prop1: 'value',
                prop2: 'value'
            },
            data2: {
                prop1: itemName + 'some string',
                prop2: itemName
            }
        }],
        object2: {
            data: {
                prop1:  itemName,
                prop2:  itemName + 'some string'
            }
        }
     }
}

var item1 = new ObjFunction('item1Name');

1 个答案:

答案 0 :(得分:1)

我更喜欢第一个答案,只需更改第二行:

itemObject = {

return {

然后你可以说:

var item1 = objFunction('item1Name');

换句话说:

function objFunction (itemName) {
    return {'name' : itemName};
}

var y = objFunction("theName");
console.log(y.name);