首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >许多if语句的替代方案

许多if语句的替代方案
EN

Stack Overflow用户
提问于 2014-02-11 20:12:38
回答 2查看 107关注 0票数 1

我正在编写用于创建网站引文的代码,而我目前正在研究的问题是,如果引用数据缺少信息,例如缺少作者或标题,该怎么办。因此,我目前实现的是一组if语句,用于检查特定引用是否缺少任何信息,本质上是这样的:

代码语言:javascript
复制
if (citationdata.authors) {
    citation += citationdata.authors
}
else {
    citation += "Unknown author. "
} 

为了其他的检查,我需要为那个特定的引文类型做一些检查,结果是大约5-6个独立的if语句,直到完整的引文被建立起来。

我对使用javascript还比较陌生,所以,我的问题是,这是否会被认为是错误的做法,如果是的话,我还可以使用什么替代方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-11 20:13:40

这样简单的东西可以简化为:

代码语言:javascript
复制
citation += citationdata.authors || "Unknown author. ";

operator将将左边的任何内容转换为布尔值,如果它是一个“真”值,它将返回表达式的左侧,否则它将计算并返回表达式的右侧。

“‘Falsey”价值观包括:

  • 布尔值false
  • 空字符串
  • 数字0
  • NaN
  • null
  • undefined

所有其他的价值观都是“真实的”。

票数 9
EN

Stack Overflow用户

发布于 2014-02-11 20:18:25

您可以将条件签出抽象为要检查的每个属性调用的方法。就像..。

代码语言:javascript
复制
function getCitationData(data, propName, noDataMesage) {
    if(data[propName]) {
        return data[propName];
    }
    return noDataMessage;
}


citation += getCitationData(citationdata, "authors", "Unknown author. ");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21712035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档