如何更好地编写这个javascript循环

How can I write this javascript loop better way

本文关键字:javascript 循环 何更好 更好      更新时间:2023-09-26

我有这个JS代码

if (parseInt(counter.text(), 10) > 0) {
    counter.text(parseInt(counter.text(), 10) - 1);
}
if (parseInt(counter.text(), 10) < 1) {
    counter.attr('data-active', true);
}

这只是检查计数是否>0,然后递减,如果递减后==0,则隐藏它。

我正在寻找更好的方法来写它。我总是被关于低效编码的代码审查所困扰;)

我认为这将为您提供相同的行为,而不需要花费那么多时间进行解析。

var value = parseInt(counter.text(), 10);
if(value > 0) {
    value--;
    counter.text(value);
}
if(value < 1) {
    counter.attr('data-active', true);
}
  • 创建一个变量来保存解析结果。这减少了代码的重复,同时避免了一遍又一遍地做同样的工作
  • 在检查值之前,您减少了counter.text()中的值,所以我减少了变量的值以保持相同的行为

请注意,您可能可以更好地提高循环的性能,但您还没有将循环包含在OP中。