假设我有一个具有以下键值对的对象:
var someVar = {
color: "white",
font_size: "30px",
font_weight: "normal"
...some more variables and functions
};
有没有一种方法可以对这些键进行多重赋值,而不需要像这样做:
someVar.color = "blue";
someVar.font_size = "30px";
...
假设我有一个具有以下键值对的对象:
var someVar = {
color: "white",
font_size: "30px",
font_weight: "normal"
...some more variables and functions
};
有没有一种方法可以对这些键进行多重赋值,而不需要像这样做:
someVar.color = "blue";
someVar.font_size = "30px";
...
使用ES2015,您可以使用Object.assign
:
const someVar = {
color: "white",
font_size: "30px",
font_weight: "normal"
};
const newVar = Object.assign({}, someVar, {
color: "blue",
font_size: "30px"});
console.log(newVar);
{
color: "blue",
font_size: "30px",
font_weight: "normal"
}
使用 ES6 扩展操作符:
someVar = {...someVar, color: "blue", font_size: "30px"}
你可以循环遍历另一个对象:
var thingsToAdd = {
color: "blue",
font_size: "30px"
};
for (var x in thingsToAdd) someVar[x] = thingsToAdd[x];
或者,您可以使用 with
(警告:这几乎肯定是一个不好的想法!请参阅链接。我只是为了教育目的而发布这篇文章;你几乎永远不应该在生产代码中使用with
):
with (someVar) {
color = "blue";
font_size = "30px";
}
function someVar (color,fontSize, fontWeight){
this.color = color,
this.fontSize = fontSize,
this.fontWeight = fontWeight
};
var var1 = new someVar("red","12px","45px");
var myvar ={};
myvar['color']='red';
myvar['width'] ='100px';
alert(myvar.color);
或者 alert(myvar['color']);
var col ='color'; myvar[col] ='red';
。 - Maneesh Singh