2014-09-05 24 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是奇怪的。

相关问题