if+overclvariable vs. if+else condition.性能方面哪个更好?



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

方法一:

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";
}

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

我会建议使用不需要任何 js 或 css 的第 3 种方法

<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>

最新更新