【发布时间】:2013-06-18 18:09:02
【问题描述】:
我有var names = [];,并且只有在它不为空时才想将一些字符串推到那里。有没有办法在js中使用一些速记方法?)
我现在拥有的。
if ("" != opportunityName)
{
names.push(opportunityName);
}
那别为我工作,它是推空字符串。
names.push(opportunityName || "");
【问题讨论】:
我有var names = [];,并且只有在它不为空时才想将一些字符串推到那里。有没有办法在js中使用一些速记方法?)
我现在拥有的。
if ("" != opportunityName)
{
names.push(opportunityName);
}
那别为我工作,它是推空字符串。
names.push(opportunityName || "");
【问题讨论】:
你可以使用短路:
opportunityName && names.push(opportunityName);
只有当左边的操作数为真时,才会计算右边的操作数。
【讨论】:
if (opportunityName) names.push(...); 略短,而且可读性较差......
if 的“then”子句强制使用花括号,那么为了保持一致,它应该在&& 是这种模式的右手表达式周围强制使用括号仅用于短路:opportunityName && (names.push(opportunityName))。但是我还没有看到强制执行后者的编码样式。