【发布时间】:2015-05-27 04:07:23
【问题描述】:
我搜索了论坛,但没有看到与我要问的问题类似的问题或答案,但是如果重复,请提供链接,我会在该帖子中查看答案。
是否可以从闭包/函数中访问数组中的对象?我正在尝试这样做以进行实验。
这是我在 firebug 中编写的代码。我收到“未定义”。
var checkers = [1, "string", null];
var i, txt = "";
function myFunction(checkers){
for(var i = 0; i < checkers.length; i++ ){
txt += checkers[i] + " ";
console.log(txt)
}
}
myFunction(checkers);
【问题讨论】:
-
你在哪里打电话
myFunction()?该函数中的checkers不是闭包变量,因为它在参数列表中。 -
您要求函数接受名为
checkers的参数,因此,在该函数中,checkers是您提供给函数的任何参数。由于您没有显示您对函数的调用以及您提供给它的参数,因此这个问题是 100% 无法回答的。这就是为什么当您加入时网站会提示您学习如何展示minimal, complete, verifiable testcases。我一直感到困惑,为什么我必须告知几乎每个问题作者这个明显和基本的事实。 -
你在哪里调用函数?你通过什么论据?你不能通过闭包访问数组
checkers,只能访问txt。 -
你已经声明了两次
checkers,一次作为全局变量,一次作为myFunction的参数。您还没有展示如何调用该函数。 -
您的示例输出
1、1 string、1 string null。
标签: javascript arrays function for-loop