jQuery/JavaScript使用条件语句与省略条件语句的效率比较

jQuery/JavaScript efficiency comparison when using a conditional vs. omitting it

本文关键字:条件 语句 效率 比较 jQuery JavaScript      更新时间:2023-09-26

问题描述:

假设我想用jQuery.hide()隐藏一个元素。在本例中,无论单击构造函数时发生什么,我都想隐藏#some_div。那么,我应该检查它是否从一开始就可见,还是应该完全省略条件句?

例子:

$('#button').click(function() {
  if ($('#some_div').is(':visible')) {
    $('#some_div').hide();
  }
}

…和…

$('#button').click(function() {
    $('#some_div').hide();
}

这似乎是一个悬而未决的问题。如果DIV只显示一半的时间,那么在一半的时间里它不需要隐藏它。然后,另一半时间,它需要在条件中执行比较,而隐藏它。

那么哪个是更好的实践呢?哪个执行起来更高效/更快?

似乎只是隐藏比先测试更快:http://jsperf.com/testing-visibility-vs-just-hiding

也就是说,这不大可能成为应用程序的瓶颈。因此,我建议您编写感觉更自然的代码,并开始进行这些微优化,如果您发现它太慢了。大多数情况下,这并不重要。