2017-04-17 37 views
0

我對Javascript很新,所以我很難搞清楚這個簡單的練習,以及我做錯了什麼。任何幫助將不勝感激!javascript if beginners

給出兩個數字變量:var n = 25; var result = 0;

提交時,它們的值可能會更改。 請勿編輯此行以上的代碼。 =================================

您的挑戰: 使用if和else,基於決策上的值的n 並導致下列規則: 1。當n爲偶數時,設定 結果的值導致的當前值加上 10. 2.當n是奇數, 結果的值設置爲結果的當前值 減去n的值。 3.不要聲明新變量。 4.確保您的解決方案適用於n和結果的所有值。

if (n%2 == 0) {result+10;} else {result-n;} 
+6

什麼是未來的語言,當人們張貼他們的功課和SO 2分鐘內得到解決? –

+1

@KobyDouek:上面顯示了做這項工作的明確努力,以及對直接概念的簡單理解。我同意只發布完整的解決方案是一個壞主意(所以我沒有),但解決理解缺失的一點是教育,而不是啓用。 –

+0

@ T.J.Crowder我明白你的觀點,但這是作業,獲得答案,提交作品和獲得A +的意義何在?以後會發生什麼,或者當這個人被接受以此爲基礎的工作?當我學習計算機科學的時候,沒有人幫助過我,直到答案出現時,我才意識到這是世界上缺乏的東西。 –

回答

0

您可以設置結果?

if (n%2 == 0) { 
    result = result + 10; 
} else { 
    result = result - n; 
} 

或者,如果你是一個好一點:

if (n % 2 == 0) { 
    result += 10; 
} else { 
    result -=n; 
} 
10

你的問題不是if/else,問題是你從來沒有設置result新值。 result+10只是在沒有將值存儲在任何位置的情況下生成值。 (在許多編程漢語語言,這將是一個語法錯誤,但JavaScript允許它稱之爲ExpressionStatement其中任何表達式可以是聲明。)

既可以使用複合賦值運算符(+=-=),或寫詳細分配(result = ...)。


旁註:它更容易調試,當陳述自己的行編輯代碼,建議:

if (condition) { 
    trueStuffHere 
} else { 
    falseStuffHere 
} 

...或者任何關於這一主題,其中trueStuffHerefalseStuffHere幾個變化在他們自己的線上。