2014-09-05 30 views
0
var cat = prompt("What Do You Want To Tweet??!").length; 

if (cat >= 140) { 
    confirm("Sorry but your Tweet was over the 140 character limit by: " + cat - 140); 
    confirm("You need to resubmit a Tweet that is not over the 140 Character limit"); 
} else { 
    confirm("Success, Your Tweet has been posted!"); 
} 

我已經嘗試了一堆不同的東西,但這個錯誤楠始終是我的最後一關,我不能得到通過。我非常肯定,貓變數不被視爲一個數字,但我不知道如何讓電腦看到它作爲一個數字,我非常確定,我只需要知道這樣做的基本知識。我也嘗試過移動長度,但無濟於事!字符計數器和限制器得到一個錯誤楠

回答

2

您需要括號:

confirm("Sorry but your Tweet was over the 140 character limit by: " + (cat - 140)); 

這是因爲+是左關聯的。所以它首先在消息上附加cat,然後試圖從中減去140。這會嘗試將消息轉換爲數字,該數字無效並返回NaN

順便說一句,當你做cat = prompt(...).length,你會得到長度,但你失去了推文。你需要把一個變量的響應,然後獲取其長度:

var tweet = prompt(...); 
var cat = tweet.length; 
+0

感謝這麼快的評論,我明白我爲什麼錯了。如果我的任務需要我在確認框中有回覆,我會記住你所說的內容。 :) – ShowmenTv 2014-09-05 02:02:50

1

它無關的長度,它與業務

的爲了做到

你的代碼基本上

("string" + cat) - 140 

您需要在計算周圍添加括號,以便在連接之前進行計算。

"string" + (cat - 140) 
+0

PEMDAS !!我完全忘了它..!謝謝你的幫助 – ShowmenTv 2014-09-05 02:03:30

0

或者什麼@Barmar說,你能避免重蹈140,如果你在一開始它。減去:

var cat = prompt("What Do You Want To Tweet??!").length - 140; 
if(cat < 0) { 
    confirm("Success, Your Tweet has been posted!"); 
} else { 
    confirm("Sorry but your Tweet was over the 140 character limit by: " + cat 
     + "\n\n" 
     + "You need to resubmit a Tweet that is not over the 140 Character limit"); 
} 

然而,考慮允許的140個字符的消息。國際海事組織失敗,因爲被140超過0是奇怪的。

相關問題