我正在清理一些採用的代碼 - 有很多重複。處理連接字符串與另一個函數的最佳方法
有一組jQuery的回調,我們回去JSON是這樣的:
[
{"location":{"id":164,"name":"place 1"},"users":[{"id":1,"name":"joe"},{"id":2,"name":"jack"}]},
{"location":{"id":162,"name":"place 2"},"users":[{"id":3,"name":"joe"},{"id":4,"name":"jon"}]}
]
我與這些功能都要經過:
function locations_view(r) {
str = "";
$.each(r.data, function(k, v) {
str += v.location.name + "<br />";
iterate_users(v.users);
});
$("#locations").html(str);
}
function iterate_users(users) {
str += '<strong>users:</strong>' + users.length + '<br />';
$.each(users, function(k1, v1) {
str += "<a href='/users/" + v1.id + "'>" + v1.name + "</a> ";
});
str += "<br />";
}
這似乎是工作,但它看起來有點醜。有一個更好的方法嗎。另外,我想盡量減少內存消耗(返回字符串而不是全局str
導致性能問題)。有沒有更好,更優雅的方式來做到這一點?會有多個str
副本導致問題?如果我有products_view也使用str
?
使用全局變量總是望而卻步。我不知道爲什麼它會導致一個巨大的性能變化... – Evan 2011-12-19 22:41:46