假设我想使用jQuery.hide()
隐藏元素。在这个例子中,无论何时单击构造函数,我都想隐藏#some_div
。那么,我应该检查一下是否可见,或者我是否应该完全省略条件?
$('#button').click(function() {
if ($('#some_div').is(':visible')) {
$('#some_div').hide();
}
}
...与...
$('#button').click(function() {
$('#some_div').hide();
}
这似乎是一种折腾。如果DIV只显示一半的时间,那么有一半的时间它不需要隐藏它。然后,在条件和中需要执行比较的另一半时间将其隐藏起来。
那么哪种做法更好?哪个更有效/更快地执行?
答案 0 :(得分:1)
似乎只是隐藏比首先测试更快:http://jsperf.com/testing-visibility-vs-just-hiding
话虽如此,这不太可能成为您申请的瓶颈。因此,我建议您编写对您来说更自然的代码,并开始进行这些微优化如果您发现它太慢了。大多数时候,没关系。