2017-02-13 23 views
-1

我是JavaScript新手。我試圖這樣做:如果在javascript中沒有運算符

聲明一個名爲programming的變量並將其設置爲false。然後,在快樂中寫入 一個if/else語句,以便在 編程爲false時返回true,否則返回false。

我的代碼:

var programming = false; 

var happy = function() { 

    if (programming=!true){ 
     return true 
     } 
    else 
    {return true} 
}; 

我得到的錯誤:

哎呀,再試一次。它看起來像你的快樂函數返回的真真 而不是編程時是真的

+3

'''else return false'''? – dsharew

+1

忽略IF ......'return!編程;' – evolutionxbox

+3

還要注意「不等於」運算符是'!=',而不是'=!'。你的'if(programming =!true)'所做的是將**編程設置爲false。 –

回答

1

你幾乎有:

var happy = function() { 

    return !programming; 

}; 
+0

...當然,除了OP明確告訴他們使用'if' /'else'(大概是爲了學習使用'if' /'else')的分配。 –

4

既然你已經明確告知使用的if/else結構中,問題是:

  1. 您使用的=!代替!=做比較。​​setsprogramming to false然後測試結果(即false)。你想測試的價值。這裏的一個教訓是,使用==!=來測試布爾值是不好的做法;只是測試布爾本身。

  2. 您在兩個分支中都返回true

所以:

var programming = false; 

var happy = function() { 

    if (!programming) { // Fix #1 
     return true; 
    } else { 
     return false;  // Fix #2 
    } 
}; 

還要注意保持一致,相當標準的壓痕和支撐的重要性。 (當然,你可以做你自己的代碼喜歡的東西,它尋求幫助使用的許多相當標準化的方式之一,當是最好的。)

當然,if/else是不是最好的辦法這樣做,但大概是練習的要點是要學會編碼if/else結構。但只是爲了完整性,要做到這一點,最好的辦法是隻返回一個否定programming

var happy = function() { 
    return !programming; 
}; 

(我也藉此問題與happy相當於!programming的想法;-)我很喜歡編程...)