我刚开始学习JavaScript,当我运行下面的代码时,它只返回orange
,我认为它应该返回所有值。
function Array(whatever) {
for (var i=0; i < whatever.length; i++) {
return whatever[i];
}
}
var list = Array(['orange','cat','mouse','dog','pen']);
return
在for循环中没有按预期工作,有人可以解释原因吗?
答案 0 :(得分:1)
问:“回归”有什么作用?
答:退出该功能。立即。
BEFORE 你的循环有机会打印“橙色”以外的任何东西。
在完成功能需要完成的所有事情之前,不应该致电return
。
SUGGESTIONS:
数组“可能是一个功能不佳的名字。
你想要这个功能做什么?
例如,您可能希望它“打印数组”。在那种情况下:
function printArray(whatever) {
for (var i=0; i<whatever.length; i++) {
console.log("whatever[" + i + "]: " + whatever[i]);
}
}
var list = Array(['orange','cat','mouse','dog','pen']);
printArray(list);
熟悉MDN(Mozilla开发人员网络)。
这是一个很棒的入门教程:
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
答案 1 :(得分:0)
您必须在功能结束时调用return
function Array(whatever) {
var arr=[]
for (var i=0; i<whatever.length; i++) {
arr.push(whatever[i]); /// because you write here return then function exit
}
return arr;
}
var list = Array(['orange','cat','mouse','dog','pen']);
答案 2 :(得分:0)
函数应该只在for循环后返回。
function Array(whatever) {
var tmpArr = [];
for (var i=0; i<whatever.length; i++) {
tmpArr.push(whatever[i]);
}
return tmpArr;
}
var list = Array(['orange','cat','mouse','dog','pen']);
答案 3 :(得分:0)
不要在for循环中使用return。 一旦return语句执行,它将退出函数,函数的剩余语句将不会执行。
//no need of for loop here
function Array(whatever) {
return whatever;
}
//if you want it line by line
function Array(whatever) {
for (var i=0; i<whatever.length; i++) {
console.log(whatever[i]);
}
}