2017-03-29 41 views
-2
</script> 
    <script type="text/javascript"> 
    var p1 = 94.28 
    var p2 = 86.43 
    var p3 = 85.36 
    var p4 = 82.26 
    var p5 = 80.03 
    var p6 = 77.60 
    var p7 = 72.75 

    function calculate11() { 
    var USERINPUT11 = document.TESTING11.INPUT11.value, 
       RESULT11 = ((p1 * USERINPUT11)/1000); 


      document.TESTING11.OUTPUT11.value = RESULT11; 
      } 

       if(USERINPUT11 => 3000); { 
      {RESULT11 = ((p2 * USERINPUT11)/1000); ; 
     } 
     //This IF statement is not working. 

</script> 

我不能去工作的if語句,用戶將輸入一個值,並根據它的值將計算不同。任何幫助將不勝感激,並感謝你。我不能上班的IF語句

+1

刪除這一行的分號:'if(USERINPUT11 => 3000);'另外,我不確定在JavaScript中,但它可能是'> ='而不是'=>'。 – AntonH

+2

['=>'(fat arrow)](https://strongloop.com/strongblog/an-introduction-to-javascript-es6-arrow-functions/)'> ='(大於或等於) –

+0

是if聲明假設在'calculate11'函數內? – fqhv

回答

0

if條件後刪除分號。

+0

這甚至幾乎不能開始解決這個代碼的問題,而且它實際上有效的語法在那裏有一個分號。如果你要解決他們的錯誤,至少要解決它。 –

+0

是有效的語法,但如果沒有使用 –

1

三件事,我看到..

  1. 條件後刪除分號。
  2. 修復比較器。
  3. 將if語句放入函數中。 (清理你的大括號)

否則,你得到..

function calculate11() { 
    var USERINPUT11 = document.TESTING11.INPUT11.value, 
     RESULT11 = ((p1 * USERINPUT11)/1000); 

    document.TESTING11.OUTPUT11.value = RESULT11; 

    if(USERINPUT11 >= 3000) { 
     RESULT11 = ((p2 * USERINPUT11)/1000); 
    } 
} 

現在,我將假設你想使用影響它裏面的對象之前調用if語句。這將是這個樣子......

function calculate11() { 
    var USERINPUT11 = document.TESTING11.INPUT11.value, 
     RESULT11 = ((p1 * USERINPUT11)/1000); 

    if(USERINPUT11 >= 3000) { 
     RESULT11 = ((p2 * USERINPUT11)/1000); 
    } 

    document.TESTING11.OUTPUT11.value = RESULT11;  
} 

現在,因爲它是很清楚的,你只是在做有條件分配,怎麼樣我們使用ternary運營商和重構只是一點點,使其漂亮。

function calculate11() { 
    var USERINPUT11 = document.TESTING11.INPUT11.value; 

    var pFactor = USERINPUT11 < 3000 ? p1 : p2; 

    document.TESTING11.OUTPUT11.value = (pFactor * USERINPUT11)/1000;  
} 

瞧!希望有所幫助,也許試試javascript tutorial瞭解更多。