我应该使用箭头功能还是香草功能

时间:2019-12-24 01:35:58

标签: javascript ecmascript-6

有人告诉我,我应该为信息功能而不是箭头功能使用“香草”语法功能。

另外,有人告诉我不要在info函数中声明函数fNums,这应该在函数外部完成

我是JavaScript的新手,刚刚从昨晚开始学习,所以我不确定什么是正确的-它们都可以使用,但是我想知道最佳实践

这是我听说应该完成的方式:

var anObj = {
  '10000': 'stone',
  '10000000': 'wood'
};

const fNums = n => {
  if (n < 1e3) return n;
  if (n >= 1e3 && n < 1e6) return +(n / 1e3).toFixed(1) + "K";
  if (n >= 1e6 && n < 1e9) return +(n / 1e6).toFixed(1) + "M";
  if (n >= 1e9 && n < 1e12) return +(n / 1e9).toFixed(1) + "B";
  if (n >= 1e12) return +(n / 1e12).toFixed(1) + "T";
};

function info() {
  Object.keys(anObj).filter(i => {
    return anObj[i] == "wood";
  }).forEach(e => {
    const stats =
      `[ <b>Test1:</b>  ` +
      fNums(Math.round('wood: ', e)) +
      ` ][ <b>Test 2:</b> ` +
      fNums(Math.round('wood: ', e)) +
      ` ][ <b>Test 3:</b> ` +
      fNums(Math.round('wood: ', e)) +
      ` ]`;

    const newNode = document.createElement("div");
    newNode.style.color = "black";
    newNode.innerHTML = '<div><hr>' + stats + "</div>";

    const parentNode = document.querySelector(".myDiv");
    parentNode.append(newNode);
  })
}

这是我以前做的方式;

var anObj = {
  '10000': 'stone',
  '10000000': 'wood'
};

const info = () => {
  const fNums = n => {
    if (n < 1e3) return n;
    if (n >= 1e3 && n < 1e6) return +(n / 1e3).toFixed(1) + "K";
    if (n >= 1e6 && n < 1e9) return +(n / 1e6).toFixed(1) + "M";
    if (n >= 1e9 && n < 1e12) return +(n / 1e9).toFixed(1) + "B";
    if (n >= 1e12) return +(n / 1e12).toFixed(1) + "T";
  };

  Object.keys(anObj).filter(i => {
    return anObj[i] == "wood";
  }).forEach(e => {
    const stats =
      `[ <b>Test1:</b>  ` +
      fNums(Math.round('wood: ', e)) +
      ` ][ <b>Test 2:</b> ` +
      fNums(Math.round('wood: ', e)) +
      ` ][ <b>Test 3:</b> ` +
      fNums(Math.round('wood: ', e)) +
      ` ]`;

    const newNode = document.createElement("div");
    newNode.style.color = "black";
    newNode.innerHTML = '<div><hr>' + stats + "</div>";

    const parentNode = document.querySelector(".myDiv");
    parentNode.append(newNode);
  })
}

0 个答案:

没有答案