8

假设我们有一个复杂的字符串template(可能是一个包含许多其他标签的 div ......),我们需要多次将此 HTML 节点添加到我们现有的文档中。

每次从模板创建 HTML 节点会更快吗

var $html = $(template); // 1st run
var $html = $(template); // 2st run
...

或者只创建一次然后克隆它们:

var $template = $(template); // init
var $html = $template.clone() // 1st run
var $html = $template.clone() // 2st run
...
4

1 回答 1

6

在迄今为止测试的所有浏览器上,使用模板似乎总是比克隆更快,除了 Opera(一个测试用例,相同的性能)。谢谢大家的测试用例。

http://jsperf.com/clone-versus-template

更新:

这是使用 jQuery 构建的长模板和模板的测试:

http://jsperf.com/clone-versus-template/4

最后这个测试表明,克隆方法在 Chrome、Firefox 和 Opera 上的性能远远优于模板方法,但在 IE9 中它们是相同的

于 2012-10-20T14:40:53.410 回答