我想知道是否有办法引用一个对象属性的变量指针。例如,在以下代码中:
function foo(){
this.x=0;
this.y=0;
this.bar=0;
}
var attr={x:"100",y:"42"};
var test=new foo();
for(var key in attr){
test.key=attr[key];
}
console.log(test.x);
console.log(text.y);
我希望这个程序输出100和42,以显示test.x和test.y已经使用上面的方法设置,可以设置对象的任意属性。这是可能吗?在此先感谢您的帮助。
答案 0 :(得分:1)
function foo() {
this.x = 0;
this.y = 0;
this.bar = 0;
}
var attr = {
x: 100,
y: 42
};
// Your code:
/*var test = new foo();
for(var key in attr) {
test.key=attr['key'];
}*/
// Using Object.assign()
var test = Object.assign({}, new foo(), attr);
console.log(test.x);
console.log(test.y);
答案 1 :(得分:1)
请检查:
function foo(){
this.x=0;
this.y=0;
this.bar=0;
}
var attr={x:"100",y:"42"};
var test=new foo();
for(var key in attr){
test[key] = attr[key];
}
console.log(test.x);
console.log(test.y);