У меня есть функция конструктора, которую можно использовать для создания экземпляра нового объекта 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
не вариант.Это должно быть динамично.