2012-02-18 20 views
0

这只是一个例子,但是在代码中会出现一堆类似的情况,所以选择最佳解决方案并坚持使用它会很好。第一种可能更快,但第二种占用更少的空间*使用JavaScript哪些代码块最适合真实世界的使用?

*读取/修复代码时空间更少,下载时空间更少。

if (imageCountCurrent <= 0){ 
    $('#next_arrow').addClass('disabled'); 
} 
else{ 
    $('#next_arrow').removeClass('disabled'); 
} 
if (imageCountCurrent >= imageCount - 5){ 
    $('#prev_arrow').addClass('disabled'); 
} 
else{ 
    $('#prev_arrow').removeClass('disabled'); 
} 



$('#.arrow').removeClass('disabled'); 
if (imageCountCurrent <= 0){ 
    $('#next_arrow').addClass('disabled'); 
} 
if (imageCountCurrent >= imageCount - 5){ 
    $('#prev_arrow').addClass('disabled'); 
} 

回答

6

您可能希望.toggleClass代替,从而消除了冗长if/elseaddClass/removeClass结构的需要:

$('#next_arrow').toggleClass('disabled', imageCountCurrent <= 0); 
$('#prev_arrow').toggleClass('disabled', imageCountCurrent >= imageCount - 5); 
+0

我同意,但试图忽略语法,并假定它做别的事情。做这个任务重新设置一切,然后在需要时重新分配或者如果/ elses重新分配会更好吗? – 2012-02-18 14:40:56

+0

@Ryan Detzel:我不得不说这有点含糊,但如果代码没有做一些昂贵的事情,那么选项#2有我的偏好。但是,如果你重置了很多,你可能会发现性能下降。 – pimvdb 2012-02-18 14:49:07