2015-05-02 60 views
0

我使用break語句,我希望它,當我輸入3時,打破並記錄「我打破了。」Break語句給出意外的結果

但不知何故,它不工作。

這裏是我的代碼:

var enteredNumber=window.prompt("Enter A Value"); 
for (i=enteredNumber; i <= 10; i++) { 
    if (enteredNumber===3) { 
     console.log('I am breaking'); 

     break; 
    } 
} 

忽略了最低位表現出任何結果。 我在做什麼錯?

回答

1

基本上你使用嚴格的比較,所以它不會接受3作爲數字。

var enteredNumber=window.prompt("Enter A Value"); 
     for (i=enteredNumber; i <= 10; i++) { 

      if (i==3) { 
       alert('i am breaking'); 

       break; 
       } 
+0

沒有任何伴隨文字的代碼沒有教會任何人。 – zerkms

0

要停止循環,在3,你的if語句應該看看變量i,而不是在enteredNumber因爲你循環i,而不是enteredNumber

 if (i===3) { 
      console.log('i am Breaking'); 

      break; 
     } 
3

這是一個數據類型的問題。輸入的值是一個字符串,並將其與數字進行比較。試試這個:

var enteredNumber=+window.prompt("Enter A Value"); 
    for (i=enteredNumber; i <= 10; i++) { 

     if (enteredNumber===3) { 
      console.log('i am Breaking'); 

      break; 
     } 

    } 

注意這個小小的+號?這表示將輸入的值解釋爲一個數字。現在條件enteredNumber ===3是真的,當你輸入3.

+1

「這是一個數據類型問題」---不僅如此 - 整個循環都沒有意義。 – zerkms

+0

@zerkms真正的,但一次一步.... –

+0

雖然沒有第二步。 – zerkms