if +覆盖变量与if + else条件。哪个更好,性能更好?

时间:2016-11-24 15:15:06

标签: javascript jquery performance optimization procedural-programming

我希望在data-src时使用screen.width > 767属性,在data-src-small时使用screen.width < 768。我有两种方法:

方法1:

var src = "data-src";

if($(window).width() < 768) {
    src = "data-src-small";
}
// do something with src variable.

方法2:

if($(window).width() > 768) {
    var src = "data-src";
}
else {
    var src = "data-src-small";
}
// do something with src variable.  

我两次遇到过这种情况。因此,我认为知道哪种方法的性能更好是很重要的,因为这种情况可能会在以后遇到。

编辑:我不是说这个问题是针对javascript的。我的意思是一般来说,快速,可变的重新分配或在else中评估的额外条件?同样的情况可能在C语言中也是如此:

 string salary;
 ...
 ...
salary = "LOW";
if(person == "RICH") {
  salary = "HIGH";
}

方法2:

string salary;
...
...
if(person == "RICH") {
    salary = "HIGH";
}
else {
    salary = "LOW";
}

如果答案取决于编译器或语言,请为javascript语言回答Chrome V8引擎,为C语言回答gcc-4.9.2编译器。感谢

1 个答案:

答案 0 :(得分:3)

我建议第3种方法不要求任何js或css

&#13;
&#13;
<picture>
  <source media="(min-width: 768px)" srcset="https://dummyimage.com/600x400/000/f00&text=big">
  <source media="(max-width: 768px)" srcset="https://dummyimage.com/300x200/000/fff&text=small">

  <!-- fallback if browser don't understand picture element -->
  <img src="https://dummyimage.com/600x400/000/0f0&text=small" alt="kitten-curled">
</picture>
&#13;
&#13;
&#13;