3 回答

TA贡献1841条经验 获得超3个赞
您不能if在需要表达式的地方放置语句。您可以使用条件(也称为“三级”)表达式。
var grundumsatz = geschlecht === 1 ?
Math.round(66.47 + (13.7 * gewicht) + (5 * groesse) - (6.8 * alter)) :
Math.round(655.1 + (9.6 * gewicht) + (1.8 * groesse) - (4.7 * alter));

TA贡献1934条经验 获得超2个赞
我还想向您提供两点补充:
用于
const
事物实际上是常量,而不是底层域中可变状态的表示(购物车内容、网络连接状态缓存)将您的分支提升为命名常量,使您的代码更易于理解(“无幻数”)
const someNamedValue = () => Math.round(66.47 + (13.7 * gewicht) + (5 * groesse) - (6.8 * alter)) const someOtherNamedValue = () => Math.round(655.1 + (9.6 * gewicht) + (1.8 * groesse) - (4.7 * alter)) const grundumsatz = geschlecht === 1 ? someNamedValue() : someOtherNamedValue();

TA贡献1785条经验 获得超4个赞
赋值运算符的右侧不能有 if 语句。
这是一个简单的解决方案。
let grundumsatz = null;
if (geschlecht === 1) {
grundumsatz = Math.round(66.47 + (13.7 * gewicht) + (5 * groesse) - (6.8 * alter));
} else {
grundumsatz = Math.round(655.1 + (9.6 * gewicht) + (1.8 * groesse) - (4.7 * alter));
};
可以看到,要设置的变量是在if/else之前声明的,然后我们根据需要进行赋值。
- 3 回答
- 0 关注
- 175 浏览
添加回答
举报