2015-05-15 122 views
-1

這是我的代碼片段迄今:檢查在JavaScript中多個條件,只有if/else語句

if ((num1 == 3 || num1 == 5 || num1 == 7) && (num2 == 2) && (num3 >= 5 && num3 <= 100) && (num4 < 9 && num4 > 20)) { 
     return "correct"; 
    }else{ 
     return "incorrect"; 
    } 
    }; 

如果我分隔每個這些條件,他們測試精細獨立,但捆綁,像這樣,他們不要」噸。我真的很感激,如果有人能解釋只有if/else語句才能做到這一點的最佳方法。這是測試結果:

✓ should be defined 
✓ should return 'correct' for the correct example 
✓ should return 'correct' for all correct first numbers 
1) should return 'incorrect' for the incorrect first number example 
2) should return 'incorrect' for incorrect second number 
✓ should return 'correct' for the boundary conditions of the third number 
3) should return 'incorrect' for invalid third numbers 
4) should return 'incorrect' for the incorrect fourth number example 
5) should return 'incorrect' for the boundary conditions of the fourth number 

同樣,任何幫助,將不勝感激,我真的想了解的最佳途徑了這一點,並準確怎麼回事。謝謝。

+0

我們不知道發生了什麼。你可以澄清一下'num1','num2'等什麼? – Downgoat

+0

什麼是問題陳述?看起來像你正在進行的在線測試。請鏈接它。 – Bergi

+0

對不起,我是新手。我會盡我所能編輯。這是一個檢查代碼的四個數字的函數。 num1應該等於3,5或7,num2應該等於2,num3應該在5到100之間,num4應該小於9並且大於20.當每個條件被測試時,它將進行測試,但是當加入我有他們沒有的方式。 –

回答

4

...&& (num4 < 9 && num4 > 20) 

將始終爲假,

也許你的意思是:

...&& (num4 < 9 || num4 > 20) 
+0

非常感謝您的回覆,它是正確的!我不知道我是如何忽略這一點的,但我正在學習代碼每隔一段時間就會對你有所幫助......再次感謝! –