我们都见过这样做的人:
jQuery('a').each(function(){
jQuery(this)[0].innerHTML += ' proccessed';
});
function letsPoluteNS() {
polute = '';
for (morePolution = 0; morePolution < arguments.length; morePolution++)
polute.join(arguments[morePolution]);
return polute;
}
等等。我想知道人们看到了最常见的JavaScript / jQuery技术,它会减慢页面速度和/或浪费JavaScript引擎的时间。
我知道这个问题可能似乎不符合一个被接受的问题,但我在问“什么是最常见的浪费?”
答案 0 :(得分:3)
我对此感到内疚。基本上只在jQuery选择器中使用元素的类。而不是将类选择器与元素标记名称组合。
<div></div>
<div class="hide"></div>
<div class="show"></div>
<div class="hide"></div>
<div class="hide again"></div>
$(".hide").hide();
而不是更快
$("div.hide").hide()
这也是效率低下的,许多人没有使用选择器的上下文参数
$("#mydiv").click(function () {
$("#mydiv span").show();
}
这可以更好地处理:
$("#mydiv").click(function () {
$("span", this).show();
}
答案 1 :(得分:1)
跟踪用户和大量宣传有关的任何事情。那肯定浪费了空间。
我猜错误地使用诸如使用类而不是id作为非常复杂的html中的选择器之类的东西会减慢速度。 当然还有ie。
答案 2 :(得分:1)
您还会看到:
$('#this').find('a').doSomeThing();
知道什么更有效率?一个覆盖两者的选择器将为您提供更好的服务...
$('#this a').doSomeThing();
这似乎很明显,但你会一直看到它。
答案 3 :(得分:0)
调用$ .animate来动画元素会使事情变慢。
答案 4 :(得分:0)
没有从getgo中声明你的变量,所以它们被缓存,不使用闭包并重复相同函数/调用/等的x个数,而只使用eval()来改变每个的id或类。