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 關注
- 213 瀏覽
添加回答
舉報