JavaScript - 创建一个通过传递对象来更新变量的函数?
JavaScript - Make a function to update variables by passing an object?
我希望能够使用一个将对象作为参数的函数来更新文档中任意数量的变量。我想要的:
<span id="firstname"></span>
<span id="lastname"></span>
...
function updateStuff(obj) {
for (var key in obj) {
document.getElementById(key).innerHTML = valueAssociatedWithKey;
}
}
...
updateStuff({
firstname: "John",
lastname: "Doe"
})
最终结果将有 <span id="firstname">John</span>
和 <span id="lastname">Doe</span>
有什么办法可以做到这一点吗?
如果没有,有没有更好的选择?
对于那些熟悉 RiotJS's self.update function 的人,我实际上是在尝试在 JavaScript 中重新创建它,而不是为了一个小功能而拉入他们的整个库。
注意:我想在没有任何库的情况下执行此操作,包括 JQuery。
谢谢!
您所缺少的只是获取与键关联的值,您可以通过执行 obj[key]
.
来获取该值
示例:
function updateStuff(obj) {
for (var key in obj) {
document.getElementById(key).innerHTML = obj[key];
}
}
updateStuff({
firstname: "John",
lastname: "Doe"
});
JSFiddle 演示:https://jsfiddle.net/xmhgxqj7/
我希望能够使用一个将对象作为参数的函数来更新文档中任意数量的变量。我想要的:
<span id="firstname"></span>
<span id="lastname"></span>
...
function updateStuff(obj) {
for (var key in obj) {
document.getElementById(key).innerHTML = valueAssociatedWithKey;
}
}
...
updateStuff({
firstname: "John",
lastname: "Doe"
})
最终结果将有 <span id="firstname">John</span>
和 <span id="lastname">Doe</span>
有什么办法可以做到这一点吗? 如果没有,有没有更好的选择?
对于那些熟悉 RiotJS's self.update function 的人,我实际上是在尝试在 JavaScript 中重新创建它,而不是为了一个小功能而拉入他们的整个库。
注意:我想在没有任何库的情况下执行此操作,包括 JQuery。
谢谢!
您所缺少的只是获取与键关联的值,您可以通过执行 obj[key]
.
示例:
function updateStuff(obj) {
for (var key in obj) {
document.getElementById(key).innerHTML = obj[key];
}
}
updateStuff({
firstname: "John",
lastname: "Doe"
});
JSFiddle 演示:https://jsfiddle.net/xmhgxqj7/