如何在javascript中从提示中存储数组的值?

时间:2016-12-14 09:56:51

标签: javascript arrays loops

我正在尝试用Javascript编写一个简单的程序,它将从用户那里获取10个输入并存储在一个数组中,然后在控制台中显示输入。

在我已编写的代码下面:

var name = [];
for(var i =0; i<=10; i++){
    name[i]=(prompt('Enter your name'));
}
console.log(name);

但它没有显示任何值,我试图在for循环中控制i的值。
它在控制台中显示未定义。请帮我解决这个问题。谢谢。

2 个答案:

答案 0 :(得分:2)

您必须在浏览器中在全局范围内运行该代码。 name已在浏览器的全局命名空间中定义。它是当前窗口的名称(字符串)。您不能通过var在全局范围内对其进行遮蔽,您必须使用范围函数或类似函数:

(function() {
    var name = [];
    for (var i = 0; i < 10; i++) {           // Note 1
        name[i] = prompt('Enter your name'); // Note 2
    }
    console.log(name);
})();

这里的教训:避免全球范围。 : - )

注1:如果您只想要10个循环,则需要< 10,而不是<= 10

注意2:您不需要在作业的整个右侧放置()

答案 1 :(得分:-1)

请尝试以下代码:

var nm = new Array(10);
for(var i =0; i<10; i++){
    nm[i]=prompt('Enter your name'); 
}
for(var i =0; i<10; i++){
   document.write(nm[i] + '<br>');
}

我们无法使用变量名作为&#39; name&#39;。为了得到数组值,我们必须在数组中提供索引号,所以在上面使用for循环来获取所有值。

...谢谢