我怎样才能更好地编写这个javascript循环

时间:2014-09-19 00:48:28

标签: javascript loops

我有这个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之后再隐藏它。

我正在寻找一些更好的方法来编写它。我总是陷入关于非高效编码的代码审查中;)

1 个答案:

答案 0 :(得分:1)

我认为这会给你相同的行为,而无需花费太多时间进行解析。

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

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