我正在编写用于创建网站引文的代码,而我目前正在研究的问题是,如果引用数据缺少信息,例如缺少作者或标题,该怎么办。因此,我目前实现的是一组if语句,用于检查特定引用是否缺少任何信息,本质上是这样的:
if (citationdata.authors) {
citation += citationdata.authors
}
else {
citation += "Unknown author. "
} 为了其他的检查,我需要为那个特定的引文类型做一些检查,结果是大约5-6个独立的if语句,直到完整的引文被建立起来。
我对使用javascript还比较陌生,所以,我的问题是,这是否会被认为是错误的做法,如果是的话,我还可以使用什么替代方法呢?
发布于 2014-02-11 20:13:40
这样简单的东西可以简化为:
citation += citationdata.authors || "Unknown author. ";operator将将左边的任何内容转换为布尔值,如果它是一个“真”值,它将返回表达式的左侧,否则它将计算并返回表达式的右侧。
“‘Falsey”价值观包括:
false0NaNnullundefined所有其他的价值观都是“真实的”。
发布于 2014-02-11 20:18:25
您可以将条件签出抽象为要检查的每个属性调用的方法。就像..。
function getCitationData(data, propName, noDataMesage) {
if(data[propName]) {
return data[propName];
}
return noDataMessage;
}
citation += getCitationData(citationdata, "authors", "Unknown author. ");https://stackoverflow.com/questions/21712035
复制相似问题