我正在上一个初级javascript课程。我无法在下面的作业中弄清楚我做错了什么。我不完全了解如何将各个部分组合在一起。我一直在使用Firefox Web控制台进行调试。但是,我在这个问题上很难过。请给我反馈如何改进下面的代码。感谢您的反馈。 =)
* 该计划的运作方式: *
var words = [];
while (true) {
var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt,"");
if (word ==="exit") {
break;
}
var total_words = 0;
for (var index = 0; index < words.length; index++);{
total_words = words.sort[index];
}
document.write(words[index]);
答案 0 :(得分:0)
对于您使用的任何浏览器,请查看错误日志。在Firefox中,转到Web Developer - &gt;错误控制台。在IE中,打开“高级”选项并取消选中“禁用脚本调试”,然后查看加载页面时应显示的错误。在Chrome中...我不记得我的头顶而且没有在这台电脑上。
您应该看到以下错误消息:
"
来电中丢失的prompt
。for
循环有两个错误:一个是;
之后的错误。这不会导致实际的运行时错误,但肯定无法实现您正在寻找的结果。使用块或循环,您可以在之后只运行一行代码,并在它到达分号时标记循环的结束。在你的情况下,你只需要花括号。第二个问题是你有一个没有相应关闭的开放花括号。此外,一旦你修复了这两个,脚本将在页面上写“未定义”。这是因为实际上没有任何内容添加到words
。正如Joe Simmons的评论中所提到的,您需要words.push(word)
将该单词添加到数组中。
我不确定total_words
变量的用途是什么,因为你从未真正使用它,但这是你需要做的开始,忽略它。我还删除了for
循环,因为它仅与total_words
变量一起使用:
var words = [];
while (true) {
var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt", ""); //fix the quote issue here
if (word ==="exit") {
break;
}
words.push(word); //add entered word to array
}
words.sort(); //sort *after* the loop
document.write(words.join(",")); //this will write the words as a comma-separated list, as an example
因此,如果您输入提示“dog”,“cat”和“hippopotamus”,输出将为:
cat,dog,hippopotamus
答案 1 :(得分:0)
试试这个:
<script type="text/javascript">
var words = new Array();
while (true) {
var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt","");
if (word ==="exit") {
break;
}
words.push(word);
}
words.sort();
document.write(words);
</script>