我第一次尝试学习JavaScript大约一个小时。我对HTML和PHP有很好的了解,我发现它有帮助。但我无法弄清楚这有什么问题。有人可以帮我纠正一下吗?
<script type="text/javascript">
function GetArray() {
var Item1 = prompt("Enter list item 1");
Item1 += "\n";
var Item2 = prompt("Enter list item 2");
Item2 += "\n";
var Item3 = prompt("Enter list item 3");
Item3 += "\n";
var List = new Array(Item1, Item2, Item3);
}
GetArray();
for (i = 0; i < List.length; i++) {
return List[i];
}
</script>
答案 0 :(得分:2)
返回仅在函数内部有意义。您在for循环中使用返回导致
SyntaxError: Illegal return statement
如果要在List中打印值,请使用
console.log(List[i]);
在函数内部使用它,否则会出错
ReferenceError: List is not defined
我做了一些改变
function GetArray() {
var Item1 = prompt("Enter list item 1");
var Item2 = prompt("Enter list item 2");
var Item3 = prompt("Enter list item 3");
var List = new Array(Item1, Item2, Item3);
for(i=0;i<List.length;++i){console.log(List[i]);}
}
GetArray();
输出
答案 1 :(得分:1)
<script type="text/javascript">
function GetArray() {
var Item1 = prompt("Enter list item 1");
Item1 += "\n";
var Item2 = prompt("Enter list item 2");
Item2 += "\n";
var Item3 = prompt("Enter list item 3");
Item3 += "\n";
return [Item1, Item2, Item3];
}
var List = GetArray();
for (var i = 0; i < List.length; i++) {
console.log(List[i]);
//alert(List[i]);
}
</script>
首先,function
创建变量范围。因此var List
函数内的GetArray
将在此函数范围内创建变量List
。在这种情况下,我建议返回列表。或者从var List
范围中创建GetArray
,然后在其中进行分配。
第二个注释,return
应该在功能中使用。在这种情况下,内部循环没有意义......
答案 2 :(得分:1)
您的代码存在两个问题。您尝试在其范围之外访问变量List的第一个。如果要访问它,则必须在函数GetArray()之外定义它。第二个问题是你的for循环中有一个return语句,这意味着你的for循环只运行一次。
解决方案:
<script type="text/javascript">
var List;
function GetArray() {
var Item1 = prompt("Enter list item 1");
Item1 += "\n";
var Item2 = prompt("Enter list item 2");
Item2 += "\n";
var Item3 = prompt("Enter list item 3");
Item3 += "\n";
List = new Array(Item1, Item2, Item3);
}
GetArray();
for (i = 0; i < List.length; i++) {
console.log(List[i]);
}
</script>
答案 3 :(得分:1)
首先,您没有为提示变量分配任何值。 就像你必须这样写:
syntax- prompt("Your Text","");
,正确的代码是 “
<script>
function GetArray() {
var Item1 = prompt("Enter list item 1","");
var Item2 = prompt("Enter list item 2","");
var Item3 = prompt("Enter list item 3","");
var List = new Array(Item1,Item2,Item3);
for (i = 0; i < List.length; i++) {
document.write( List[i]);
}
}
GetArray();
</script>
希望您了解本地和全局变量。
答案 4 :(得分:0)
谢谢大家。我已将“return List [i]”更改为“document.write(List [i]);”,因为它会将其打印到屏幕上。
这是我现在得到的(作为答案的结果),并且工作正常:
<script type="text/javascript">
function GetArray() {
var Item1 = prompt("Enter list item 1");
Item1 += "\n";
var Item2 = prompt("Enter list item 2");
Item2 += "\n";
var Item3 = prompt("Enter list item 3");
Item3 += "\n";
List = new Array(Item1, Item2, Item3);
}
GetArray();
for (i = 0; i < List.length; i++) {
document.write (List[i]);
}
</script>
这是试图从书中学习它的问题。当我试图在没有正确解释的地方问问题时,它没有回应。