繁体   English   中英

动态添加参数作为对象的属性 - JavaScript

[英]Dynamical adding of parameters as properties of object - JavaScript

我有一个构造函数,可用于实例化一个新的Button对象。 创建此对象时,您可以使用一个参数满足该功能。 如果此参数是关联数组,则数组的所有值都将成为Button对象的属性。

所以我要做的就是这个

function Button(args){
    for (arg in args)
    {
       //Add the name of arg as property of Button with arg as value.
    }
};

var button = new Button({
                     name:"My button",
                     value:"My super special value",
                     color:"black",
                     enabled:false
             });

这应该做的是创建一个像这样的按钮对象。

button.name      //should be "My button"
button.value     //should be "My super special value",
button.color     //should be "black",
button.enabled   //should be false

我似乎无法弄清楚如何实现这一点,因为如果你得到关联它是一个字符串。 并且this.arg = args [arg]显然不起作用。

注意:输入必须是一个数组,如果用户将一个总的其他关联数组作为参数,则属性将不同。 {test:true}将动态创建一个带有test属性的按钮,其值为true。

这意味着button.test = true不是一个选项。 它必须是动态的。

并且this.arg = args[arg]显然不起作用

this[arg] = args[arg]

这个

function Button(args){for(arg in args){this [arg] = args [arg]; }};

var button = new Button({name:“My button”,value:“My super special value”,color:“black”,enabled:false});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM