javascript - For循环内函数,数组枚举
问题描述
对于我的作业,这段代码有一些困难。
我应该创建两个函数。
调用第一个函数
calledInLoop
,它将接受一个参数并记录该参数。calledInLoop = function (parameter) { console.log(parameter); }
调用第二个函数
loopThrough
,它将接受一个数组,遍历每个数组,然后调用该calledInLoop
函数。结果应该是数组的每个元素都被控制台记录。loopThrough = function (array) { for (var i = 0; i < array.length; i++){ calledInLoop(array[i]); }; } myArray = ['dog', 'bird', 'cat', 'gopher'];
console.log(loopThrough(myArray));
在自己的console.log
行上返回每个元素,然后返回undefined
. 为什么是这样?
解决方案
console.log
对inconsole.log(loopThrough(myArray));
的调用只是打印出来undefined
。它这样做是因为loopThrough
不返回任何东西,所以它默认为undefined
.
数组中的元素通过调用calledInLoop
in打印出来loopThrough
,而 in 又调用console.log
.