创建动态对象(作为函数(...))

时间:2013-09-26 07:09:22

标签: javascript function object dynamic

我在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个值属性......?

我知道,我会更好地实现List或Array,但我想知道,如果我的问题有解决方案吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以在函数内使用arguments对象:

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

JSFiddle

相关问题