0

从文本区域获取文本统计信息。

哪个会更好?

这个?

function getStats() {
  var text = textarea.value,
    stats = {};
  stats.chars = text.length;
  stats.words = text.split(/\S+/g).length - 1;
  stats.lines = text.replace(/[^\n]/g, "").length + 1;
  return stats.lines + " lines, " + stats.words + " words, " + stats.chars + " chars";
}

还是这个?

function getStats() {
  var text = textarea.value,
    chars = text.length,
    words = text.split(/\S+/g).length - 1,
    lines = text.replace(/[^\n]/g, "").length + 1;
  return lines + " lines, " + words + " words, " + chars + " chars";
}
4

1 回答 1

2

第二个。

不是出于任何性能原因,而是您只是在不需要 Javascript 对象时声明了一个 Javascript 对象。

创建一个对象来存储你的变量只有在你像这样使用它时才有意义:

function getStats() {
  var text = textarea.value,
    stats = {};
  stats.chars = text.length;
  stats.words = text.split(/\S+/g).length - 1;
  stats.lines = text.replace(/[^\n]/g, "").length + 1;
  return stats;
}
于 2013-10-25T12:15:58.737 回答