0

我在 JavaScript 运行时创建了一个具有动态属性的对象。

它只是这样工作:

var object = {
    'time' = ""
};

之后,我可以添加更多属性,例如:

var propName = "value1";
object[propName] = "some content...";

但是我需要使用一个真实的对象,以便我可以创建一个新实例,例如: var myObject = NewObject('myTime', 'myValue1', 'myValue2' ...);

为了创建一个静态自定义对象,我会这样做:

function NewObject(time, val1, val2, ... valn) {
    this.time = time;
    this.val1 = val1;
    ...
}

但我不知道,如何动态设计这样的功能,取决于不同的用户输入,我的 NewObject 可能有 1 到 n 个值属性......?

我知道,我最好实现一个列表或数组,但我想知道,如果我的问题有解决方案吗?

谢谢你的帮助。

4

1 回答 1

1

You can use the arguments object inside function:

function NewObject(time){
    this.time=time;
    if(arguments.length>1){
        for(var i=1;i<arguments.length;i++){
            this["val"+i]=arguments[i];
        }
    }
}

JSFiddle

于 2013-09-26T07:37:24.063 回答