我一直在阅读包含以下内容的JS书籍:
function onSuccess(entries) {
document.getElementById("loading").innerHTML="";
var ul = document.getElementById("file-listing");
for(var index=0;index<entries.length;index++) {
var li = document.createElement('li');
li.innerHTML = entries[index].name;
ul.appendChild(li);
}
}
但是,我在多个网站上读到,在html =“”中创建整个列表更快更干净,添加ul和li元素然后添加块,将其全部添加到一个调用中...所以我我想知道我是否应该遵循我在许多js书中找到的风格或我在性能博客上看到的内容?我最担心的是,如果我使用之前的代码块,那么阅读我的代码的人会觉得它很业余。此外,我遇到了一些人,就像你使用的是jQuery ...而不是像document.getElementById()
等使用DOM调用......
答案 0 :(得分:1)
但是,我在多个网站上看到,在html =“”中创建整个列表更快更干净...
如果你的意思是,someElement.innerHTML = "HTML tags here";
那么是的,在大多数情况下它会更快,因为从根本上解析和呈现HTML 是什么浏览器,因此它们非常快,而如果你使用DOM调用构建东西,每次都有很多跨越各层(JavaScript,DOM,浏览器内部)的行程。
但是 :在大多数情况下,这也没关系。如果你要渲染一个包含大量列的2,000行表,那就很重要了;但如果你不这样做,那大多数都没关系。您可以在遇到问题时进行优化。
所以我想知道我是否应该遵循我在许多js书中找到的风格或我在性能博客上看到的内容?
你应该做任何看起来最干净,最清晰,最容易的事情。
我最担心的是,如果我使用之前的代码块,那么阅读我的代码的人会觉得它很业余。
这是他们的问题。 : - )
此外,我遇到了一些人,就像你使用的是jQuery ...而不是使用像DOM.getElementById()等DOM调用......
将jQuery用于所有或几乎所有的DOM操作都没有错;它非常擅长,为您节省了大量时间和麻烦。你应该
为此,有些人在阅读:
...但是,这并不意味着你应该仅仅因为有人瞧不起使用jQuery而使用它。适当使用工具。重要的是理解你正在使用的工具(包括jQuery,以及DOM本身),这样你就可以了解应用它们的时间和地点。