gpt4 book ai didi

javascript - OO Javascript - 我应该让一个类将自身添加到 DOM 中还是让它返回一个元素然后添加到 DOM 中?

转载 作者:数据小太阳 更新时间:2023-10-29 04:44:12 27 4
gpt4 key购买 nike

我正在练习 OO Javascript,制作一种用于查看 Manga(漫画)的网络应用程序

现在我有几个类:

  • 搜索结果
  • 漫画(根据搜索结果中的数据生成)
  • 章节(包含在漫画中)
  • 页面(包含在章节中)
  • 图片(包含在页面中)

我通过生成元素的 html 将搜索结果添加到 DOM,然后使用 jQuery 附加它。

这就是我的问题所在:

我应该生成 html(或 jQuery DOM 元素)并从类中的函数返回它,然后将此元素添加到类之外,还是为类提供对容器的引用会更明智,它应该将元素放入其中并让它通过追加将元素放入该容器中?

所以这个?

function(data, result, response) {
var
$resultContainer = $('<div/>', {class: 'row-fluid'}),
maxResults = 10;

for(var i in data) {
if(i == maxResults) {
break;
}
data[i].manga = Manga(data[i]);
var res = new SearchResult(data[i]);
res.setMyContainerElement($resultContainer);
res.addResultToDOM();
}
}

还是这个?

function(data, result, response) {
var
$resultContainer = $('<div/>', {class: 'row-fluid'}),
maxResults = 10;

for(var i in data) {
if(i == maxResults) {
break;
}
data[i].manga = Manga(data[i]);
var res = new SearchResult(data[i]);
$resultContainer.append(res.getHTML());
}
}

在这些示例中,变量“数据”是来自 AJAX 调用的数据,该调用返回包含结果的 JSON 字符串,目前对返回的结果数量没有限制,所以我将其设置为硬编码,我将添加这是当我在服务器端进行更详细的介绍时,但现在我在前端工作时这会很好。

如果需要任何其他信息,请告诉我,我很乐意更新我可能遗漏或需要的任何信息(如果有)。

最佳答案

移动评论来回答,因为这个问题主要是基于意见的,很可能会被关闭 :)

理论上,如果您从辅助函数返回结构并让调用它的管理器函数决定如何处理它,则代码的可重用性更高。即“ worker 工作,经理管理”。将容器向下传递到代码树中会添加依赖项:)

这并不容易,但最好的方法是认为每个函数都是为其他人编写的,并且您希望尽可能提供帮助。

如果更改数据结构,当然需要重构,但这比将决策制定/依赖关系下移到较低级别更可取。如果您想被迫查看依赖于数据形状的高级代码。

关于参数是依赖项:

函数的参数只有在导致函数做出决定时才会更糟糕(称为命令耦合)。查找和处理的值更好用于参数:)

关于javascript - OO Javascript - 我应该让一个类将自身添加到 DOM 中还是让它返回一个元素然后添加到 DOM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com