2016-02-04 24 views
2

我希望能夠使用一個將對象作爲參數的函數更新文檔中的任意數量的變量。我想:JavaScript - 通過傳遞一個對象來創建一個函數來更新變量?

<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。

謝謝!

+3

你幾乎寫的一切,都是你缺少的是,你可以通過它們的名稱屬性與'物件[屬性]': ) –

回答

4

所有你缺少的是獲得與鍵相關的值,你可以通過做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/

+0

哇,我不敢相信我沒有看到。謝謝一堆。 – HiiddeN

相關問題