Javascript 何去何从;否则,如果&引用&引用;没有定义吗?

Javascript 何去何从;否则,如果&引用&引用;没有定义吗?,javascript,Javascript,“descrp”行上有3个错误,“descrp”未定义您可以在带有默认值的IF语句之前定义它您的问题是,您尚未将descrp声明为变量 { const Desc = data.wx_code; if (Desc == `0`) { descrp = `sunny` } else if (Desc == `1`) { descrp = `cloudy` } return { messages: [{text: descrp}] } }; 这应该是可

“descrp”行上有3个错误,“descrp”未定义

您可以在带有默认值的IF语句之前定义它

您的问题是,您尚未将
descrp
声明为变量

{
  const Desc = data.wx_code;
  if (Desc == `0`) {
    descrp = `sunny`
  } else if (Desc == `1`) {
    descrp = `cloudy`
  }
  return {
    messages: [{text: descrp}]
  }
};

这应该是可行的。

您需要定义
descrp
变量:

{
  let descrp;
  const Desc = data.wx_code;
  if (Desc == `0`) {
    descrp = `sunny`
  } else if (Desc == `1`) {
    descrp = `cloudy`
  } 
  return {
    messages: [
      {text: descrp}
    ]
  }
};
或将此代码提取到另一个函数:

  const Desc = data.wx_code;
  let descrp = '';// default value;
  if (Desc == `0`) {
     descrp = `sunny`
  } else if (Desc == `1`) {
     descrp = `cloudy`
  } 

那么在哪里定义/初始化
descrp
变量呢?显示它。那么,如果
if
else if
都不是真的会怎么样…?您也应该初始化它,然后您不必初始化它,这取决于周围的代码IMHO。我个人更喜欢使用
未定义的
而不是空字符串作为返回值,以便于错误和异常处理。它在调试时也有帮助,具体取决于周围的代码
未定义的
抛出错误的可能性大于空字符串。
{
  const Desc = data.wx_code;
  return {
    messages: [{text: computeDescription(Desc)}]
  }
};

function computeDescription(Desc){
  if (Desc == `0`) {
    return `sunny`
  } else if (Desc == `1`) {
    return `cloudy`
  }
  return ''; // default value
}