用for循环重复消息
我在学校里有一个任务,我们应该从promt中获取一个文本字符串,然后让一个警报打印文本字符串10次。但是我们必须使用for循环。但是,即使我阅读了涵盖此的所有页面,但似乎无法使其发挥作用。用for循环重复消息
function buttonAction7() {
var someMsg = prompt("Write something");
for(var i = 0; i < 10; i++){
someMsg+someMsg;
}
alert(someMsg);
}
声明:
someMsg+someMsg;
实际上并没有做任何,它只是返回一个逻辑值。你可能会想这个值分配给的东西,如:
someMsg = someMsg + someMsg; // Notice assignment operator, we're now actually modifying the value of someMsg
如果你想建立一个字符串消息10倍,你可能会想要更多的东西一样:
var someMsg = prompt("Write something");
var msg = '';
for(var i = 0; i < 10; i++)
{
msg += someMsg + '\n'; // Add a line break after each iteration
}
window.alert(msg);
如果我明白你在问什么,你想让警报在相同的警报窗口中连续10次显示字符串? (如“写东西写东西写东西......”):
如果这是正确的,那么你的问题是你的计算在你的for循环。你只需将两个字符串加在一起,但对结果无所作为。您需要保存的结果返回给someMsg变量在每次循环迭代,就像这样:
var someMsg = promt("Write something");
var output = "";
for(var i=0; i<10; i++) {
output = output + someMsg;
}
alert(output);
你看如何输出+ someMsg的结果被保存回在每次迭代变量输出。你也可以这样写这样的短手:
output += someMsg;
请注意,这样你最终将得到1024个原始字符串的副本,而不是10个副本。一个单独的输出缓冲区 – 2013-02-28 21:13:55
这绝对是c orrect。我编辑了我的答案来证明这一点。 Mike的第一个答案是准确的,因为他已经在使用单独的输出缓冲区。 – mst1228 2013-02-28 23:55:03
不要教新程序员省略柯利括号请:( – jbabey 2013-02-28 21:04:12
@jbabey! - 嘿好对不起 – 2013-02-28 21:05:25
多谢@Mike克里斯滕森 – user1394799 2013-03-02 16:41:38