使用两个单独的调用来隐藏两个元素之间是否有任何性能差异,或者仅使用一个语句会更高/更低效吗?有什么实际区别吗?
$('#container1').hide();
$('#container2').hide();
VS
$('#container1, #container2').hide();
另外,您认为哪个更具可读性?
答案 0 :(得分:5)
在两个元素上调用相同的委托有一个小的性能差异,但这是一个非常非常次要的内存分配。任何额外的代码行也意味着javascript解释器的更多工作和浏览器的工作...这比任何东西都更有差异,但仍然是一个无限小的差异。
简短的回答:第二个是稍微更快/使用更少的内存,它是如此疯狂无足轻重你可能无法测量没有循环数万次。
答案 1 :(得分:1)
在这种特定情况下,它不会产生实际差异。你仍然在寻找DOM中的两个特定id。
就可读性而言,我会将它们保留在一个声明中,只要它们在逻辑上分组即可。
但是,如果你的下一行是在container2上单独运行的东西,那么将2分开。不需要进行额外的遍历。例如:
//2 dom traversals
$('#container1').hide();
$('#container2').hide().html(some_html);
比
快//3 dom traversals
$('#container1, #container2').hide();
$('#container2').html(some_html);
答案 2 :(得分:0)
从效率的角度来看无关紧要。我认为第二个选项更易于提高可读性,如果您不需要将单独的事件附加到其中一个元素:$('#containter1').hide().html('foo');
...而不是其他元素。
答案 3 :(得分:0)
两者都差不多,第二个是短的几个字符,如果这是一个对你很重要的考虑因素。