0

我在学校有一个作业,我们应该从 promt 中获取一个文本字符串,然后让警报打印该文本字符串 10 次。但是我们必须使用 for 循环。但是,即使我阅读了所有涉及此内容的页面,我似乎也无法让它工作。

function buttonAction7() {
    var someMsg = prompt("Write something");    
    for(var i = 0; i < 10; i++){
        someMsg+someMsg; 
    }   
    alert(someMsg);
} 
4

3 回答 3

5

该声明:

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);
于 2013-02-28T20:46:22.947 回答
2

如果我明白你在问什么,你希望警报在同一个警报窗口中背靠背显示字符串 10 次吗?(比如“写一些东西写一些东西写一些东西......”):

如果这是正确的,那么您的问题是您在 for 循环中的计算。您只需将两个字符串相加,但对结果不做任何事情。您需要在每次循环迭代时将结果保存回 someMsg 变量,如下所示:

var someMsg = promt("Write something");
var output = "";

for(var i=0; i<10; i++) {
   output = output + someMsg;
}

alert(output);

您会看到 output+someMsg 的结果是如何在每次迭代中保存回变量 output 的。你也可以这样写那个简写:

output += someMsg;
于 2013-02-28T20:51:50.600 回答
0

尝试这个。

var someMsg=prompt("Write Something");


var i;

for(i=0;i<10;i++){
   alert(someMsg);
}
于 2016-11-09T06:02:46.067 回答