2014-11-06 135 views
-1

這是我迄今爲止的編輯..但如果我像這樣運行,它會給我一個錯誤,因爲它永遠不會結束。Javascript輸入百分比

我認爲我添加了大部分你建議的註釋,但它仍然沒有出現。

更正,我得到提示出現,但在我進入一個價格和一個天數之後,沒有任何反應。

<html> 
<script type="text/javascript"> 
function show_prompt() { 
    var original = prompt("Original Price","Enter Number Here"); 
    var day = prompt("Day of the Sale","1 - 4"); 
     do{ 
      if (day == "1"){ 
      newprice1 = (original * 0.1) 
      document.write('Total : '+newprice1); 
      } 
      else if (day == "2"){ 
      newprice2 = (newprice1 * 0.1) 
      document.write('Total : '+newprice2); 
      } 
      else if (day == "3"){ 
      newprice3 = (newprice2 * 0.1) 
      document.write('Total : '+newprice3); 
      } 
      else if (day == "4"){ 
      newprice4 = (newprice3 * 0.1) 
      document.write('Total : '+newprice4); 
      } 

     } 
      while (day <= "4"){ 
    } 
} 
show_prompt(); 
document.write('Original Price : '+original); 
document.write('<br>Day of Sale : '+day); 
</script> 
+1

與@一起布倫南的回答,'如果(天= 1)'將指派1至一天,而不是測試爲平等 – mattr 2014-11-06 21:46:09

+0

是我,還是不應該比較運算符是'==':'if(day == 1){...}'。 – 2014-11-06 21:46:40

+1

它永遠不會結束,因爲'day'永遠不會改變(在'do {} while'循環內)。 – ssube 2014-11-06 22:11:06

回答

0

您關閉了do後面的括號。

正確的語法是做{...}而(...)

0

您的比較將始終返回false,因爲來自用戶的輸入將是一個字符串,您比較了一些。無論是解析輸入作爲一個int,或與之比較的字符串:

if (parseInt(day,10) == 1) 

if (day == "1") 
+0

這些都不是比較,他們都是任務。 – ssube 2014-11-06 22:10:20

+0

哎呀,我沒有注意就複製粘貼 – Brennan 2014-11-06 22:23:32